該函數用於更改jQuery中AJAX請求的默認設置選項。之後執行的所有AJAX請求,如果對應的選項參數沒有設置,將使用更改後的默認設置。
該函數屬於全局jQuery對象。
語法
jQuery 1.1 新增該靜態函數。
jQuery.ajaxSetup( settings )
參數
參數 描述
settings Object類型一個對象,其中的每個屬性表示需要更改默認設置的選項,屬性值表示更改後的默認值。
關於settings參數可以識別的屬性,請參考jQuery.ajax()中的settings參數說明。其中的所有選項參數都是可選設置的。
返回值
jQuery.ajaxSetup()函數沒有返回值,或者說其返回值爲undefined。
示例&說明
以下是與jQuery.ajaxSetup()函數相關的jQuery示例代碼,以演示jQuery.ajaxSetup()函數的具體用法:
//設置AJAX的全局默認選項
$.ajaxSetup( {
url: "/index.html" , // 默認URL
aysnc: false , // 默認同步加載
type: "POST" , // 默認使用POST方式
headers: { // 默認添加請求頭
"Author": "CodePlayer" ,
"Powered-By": "CodePlayer"
} ,
error: function(jqXHR, textStatus, errorMsg){ // 出錯時默認的處理函數
// jqXHR 是經過jQuery封裝的XMLHttpRequest對象
// textStatus 可能爲: null、"timeout"、"error"、"abort"或"parsererror"
// errorMsg 可能爲: "Not Found"、"Internal Server Error"等
// 提示形如:發送AJAX請求到"/index.html"時出錯[404]:Not Found
alert( '發送AJAX請求到"' + this.url + '"時出錯[' + jqXHR.status + ']:' + errorMsg );
}
} );
// 未設置任何參數,但url、async、type、headers、error等參數的默認值均已被$.ajaxSetup()更改(如上)
$.ajax( );
// 設置了url、type、success、error,就使用自己設置的參數值
// 但async、headers等參數的默認值已被$.ajaxSetup()更改
$.ajax( {
url: "myurl.php?action=list" ,
type: "GET" ,
success: function( data, textStatus, jqXHR ){
alert("返回數據:" + data);
} ,
error: function(jqXHR, textStatus, errorMsg){
alert("自己的error!");
}
});
// 上述$.ajaxSetup()的默認設置對$.get()、$.post()、load()、$.getJSON()、$.getScript()等AJAX函數也生效
// 因爲這些函數也是在內部調用$.ajax()函數來實現的,只不過它們在內部都設置了一些參數
// $.get()在內部調用$.ajax()時已設置type爲"GET",因此仍然使用GET方式。
// 但url、async、headers、error等參數的默認值已被$.ajaxSetup()更改
$.get( );
// $.post()在內部調用$.ajax()時已設置type爲"POST",因此仍然使用POST方式。
// url也被設置爲"user/action.php?method=addUser"
// 但async、headers、error等參數的默認值已被$.ajaxSetup()更改
$.post( "user/action.php?method=addUser" );
3 1