jQuery.ajaxSetup() 詳解

該函數用於更改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 

本方來自 http://www.365mini.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章