2

異なるAJAXリクエストに対して異なる設定(jQuery.ajaxSetup())を設定するにはどうすればよいですか?

私がやりたいのは、各AJAX呼び出しが異なるajaxSetup()を実行するように「リンク」することです。

4

4 に答える 4

6

ポイントは$.ajaxSetup()、グローバルスケールでjQueryを介してすべてのajax呼び出しのデフォルト設定を作成することです。設定を上書きしたい場合は、特定のajax呼び出しで設定を指定するだけです。

たとえば、コードの早い段階で、$.ajaxSetup():を定義します。

$.ajaxSetup({
    type: 'POST'
    , cache: false
    , contentType: 'application/json'
    , dataType: 'json'
    , error: function (a, b, c) {
        //default error handling
        console.log(a, b, c);       
    }
});   

次に、オーバーライドする場合、たとえば、を使用してGET、次のようにします。

$.ajax(myUrl, {
    type: 'GET'
    , data: myData
}); 
于 2012-05-23T20:32:56.543 に答える
2

$ .extendを使用して、入力を設定したいくつかの異なるデフォルトにマージしたい場合があります。例えば:

var settings1 = {
    type:"GET",
    url:"something.php"
};

var settings2 = {
    type:"POST",
    url: "somethingelse.php"
}

$.ajax($.extend(true, settings1, {
    data: {key: val}
}));

$.ajax($.extend(true, settings2, {
    data: {key: val}
}));
于 2012-05-23T20:39:18.370 に答える
1

個別のオブジェクトを作成し、それらのオブジェクトを使用して、に渡すオプションを作成できます$.ajax

var ajaxSetup1 = {
    type: "POST",
    dataType: "html"
}
$.ajax( $.extend( ajaxSetup1, {"url","mypage.php"} ) );

もちろん、それを再利用するためのプライベートメソッドにラップすることもできます。

于 2012-05-23T20:35:27.320 に答える
0

.ajax()に関するjquery.comのドキュメントを読んだことがありますか?(パラメータとして)どれだけ異なる設定が必要かは驚くべきことです。
.ajaxSetup()を呼び出さなくても、.ajax()内でやりたいことができる可能性は大いにあります。

于 2012-05-23T20:33:19.357 に答える