JQuery Ajax
6676 ワード
url:Stringタイプのパラメータが要求されます.(デフォルトは現在のページアドレスです.)要求のアドレスを送信します.
type:要求はSteringタイプのパラメータで、要求方式(postまたはget)はデフォルトでgetとなります.他のhttp要求方法に注意してください.例えば、putと
deleteも使用できますが、一部のブラウザのみがサポートされています.
timeout:要求はNumberタイプのパラメータで、要求タイムアウト時間(ミリ秒)を設定します.この設定は上書きされます.ajaxSetup()メソッドのグローバル設定
買う
async:要求はBooleanタイプのパラメータで、デフォルトはtrueに設定されています.すべての要求は非同期要求です.
同期要求を送信する場合は、このオプションをfalseに設定してください.注意してください.同期要求はブラウザをロックします.ユーザの他の操作は必要です.
要求が完了したら実行できます.
cache:要求はBooleanタイプのパラメータで、デフォルトはtrueです.
falseに設定すると、要求情報はブラウザキャッシュから読み込まれません.
data:ObjectまたはStringタイプのパラメータが要求されて、サーバへのデータが送信されます.文字列でない場合は、自動的に文字列に変換します.
スタイル.get要求はurlに添付されます.この自動変換を防ぐために、プロcessDataオプションを確認できます.対象はkey/value格でなければなりません.
式は、例えば{foo 1:「bar 1」、foo 2:「bar 2」}を&foo 1=bar 1&foo 2=bar 2に変換します.行列なら、JQueryは自動的に違います.
値は同じ名前に対応します.例えば{foo:[bar 1]、“bar 2”}は&foo=bar 1&foo=bar 2に変換されます.
dataType:Stringタイプのパラメータが要求されています.サーバからの戻りが期待されるタイプのデータです.指定しないと、JQueryはhttpによって自動的にmimeを包みます.
情報はレスポンスXMLまたはレスポンスTextに戻り、コールバック関数パラメータとして伝達されます.
利用可能なタイプは以下の通りです.
xml:XMLドキュメントに戻り、JQueryで処理できます.
html:純粋なテキストHTML情報を返します.含まれるスクリプトラベルはDOM挿入時に実行されます.
スクリプト:純粋なテキストJavaScriptコードを返します.結果は自動キャッシュされません.cacheパラメータが設定されていない限り.注意リモートでの要求
の場合(同一ドメインではなく)、すべてのpost要求はget要求に変わります.
JSONデータを返します.
JSONP形式です.SONP形式で関数を呼び出す場合、例えばmurl?calback=?JQueryは自動的に次のものに置き換えられます.
「?」は正しい関数名で、コールバック関数を実行します.
テキスト文字列を返します.
beforeSend:Functionタイプのパラメータが要求されています.要求を送信する前に、XMLttpRequestオブジェクトの関数を変更することができます.例えば、カスタムを追加します.
HTTPヘッダbeforeSendでfalseに戻ると、今回のajax要求はキャンセルされます.XMLHttpRequest対象は唯一の参加です.
数を数える
function(XMLtpRequest){
this //今回のajax要求時に渡されるoptionsパラメータを呼び出します.
}
complettee:Functionタイプのパラメータが要求されます.完了後に呼び出すコールバック関数を要求します.
パラメータ:XMLHttpRequestオブジェクトと成功要求タイプを記述する文字列.
Function(XMLHttpRequest、text Startus){
this //今回のajax要求時に渡されるoptionsパラメータを呼び出します.
}
success:Functionタイプのパラメータを要求します.成功後に呼び出すコールバック関数を要求します.二つのパラメータがあります.
(1)サーバから戻り、dataTypeパラメータに従って処理後のデータを行います.
(2)状態を表す文字列.
function(data,text Status){
//dataはxmlDoc、jsonObj、html、textなどかもしれません.
this //今回のajax要求時に渡されるoptionsパラメータを呼び出します.
error:Functionタイプのパラメータが要求されます.要求が失敗したときに呼び出す関数です.この関数は3つのパラメータがあります.すなわち、XMLttpRequestオブジェクト、エラーです.
エラー情報、キャプチャされたエラーオブジェクト(オプション).
ajaxイベントの関数は以下の通りです.
function(XMLHttp Request、text Status、errorThrown){
//通常はtext StatusとerrorThrownの中の一つだけに情報が含まれています.
this //今回のajax要求時に渡されるoptionsパラメータを呼び出します.
}
contentType:Stringタイプのパラメータが要求されます.サーバに情報を送信する場合、コンテンツ符号化タイプはデフォルトです.
「appication/x-wn-form-urlencoded」です.このデフォルトはほとんどのアプリケーションに適しています.
dataFilter:Functionタイプのパラメータを要求して、Ajaxに返された元データを前処理する関数です.
dataとtypeの二つのパラメータを提供します.dataはAjaxの元のデータです.typeはjQuery.ajaxを呼び出した時に提供されます.
dataTypeパラメータです.関数の戻り値はjQueryでさらに処理されます.
function(data,type){
//処理後のデータを返します.
return data
}
global:Booleanタイプのパラメータが要求されます.デフォルトはtrueです.グローバルajaxイベントをトリガするかどうかを示します.falseに設定するとグローバルをトリガしません.
ajaxイベント、ajaxStartまたはajax Stopは、様々なajaxイベントを制御するために使用することができます.
ifModified:Booleanタイプのパラメータが要求されます.デフォルトはfalseです.サーバデータが変更された時だけ新しいデータを取得します.
サーバーのデータ変更の判断の根拠はLast-Maodifiedヘッダ情報です.デフォルトはfalseです.つまりヘッダ情報を無視します.
jsonp:Steringタイプのパラメータが要求されています.jsonp要求では、コールバック関数の名前を書き換えます.
この値は、例えば「calback=?」のようなGETまたはPOST要求のURLパラメータの「calback」部分に代わるものである.
{jsonp:''onJson PLoad''は'onJson PLoad=?'をサーバーに送ることになります.
username:Stringタイプのパラメータが要求されます.HTTPアクセス認証要求に応答するユーザ名です.
password:Stringタイプのパラメータが要求され、HTTPアクセス認証要求のパスワードに応答する.
processData:Booleanタイプのパラメータを要求します.デフォルトはtrueです.デフォルトでは、送信されたデータは対象に変換されます.(技術的な観点から)
文字列ではありません.標準の内容タイプに合わせて、「appication/x-wn-form-urlencoded」を送信します.DOMを送信するなら、
ツリー情報または他の変換したくない情報はfalseに設定してください.
script Charet:Stringタイプのパラメータが要求されています.要求時にdataTypeは「jsonip」または「script」で、typeはGETです.
文字セットを強制的に変更するためにのみ使用されます.通常はローカルとリモートのコンテンツコードは同時に使用されません.
ケースコード:
$(function(){
$('#send').click(function(){
$.ajax({
type: "GET",
url: "test.json",
data: {username:$("#username").val(), content:$("#content").val()},
dataType: "json",
success: function(data){
$('#resText').empty(); // resText
var html = '';
$.each(data, function(commentIndex, comment){
html += '<div class="comment"><h6>' + comment['username']
+ ':</h6><p class="para"' + comment['content']
+ '</p></div>';
});
$('#resText').html(html);
}
});
});
});
ちなみに$each()関数:
$each()関数はJQueryオブジェクトのeach()メソッドとは異なり、JQueryオブジェクトを操作するのではなく、1つの配列またはオブジェクトを1つのパラメータとして、1つのコールバック関数を2つ目のパラメータとします.コールバック関数は、2つのパラメータを持ちます.1番目のオブジェクトのメンバーまたは配列のインデックス、2番目の変数または内容に対応します.