jquery.ajaxSetup()函式詳解

Hhy_9288發表於2018-04-03

jquery.ajaxSetup() 函式用於設定全域性預設設定。jquery1.1新增 該靜態函式

語法:  jquery.ajaxSetup(settings)  

引數(settings):一個物件,其中的每一個屬性表示需要設定更改預設設定的選項,屬性值表示更改後的預設值。

返回值:jquery.ajaxSetup()函式沒有返回值,或者說返回值為underfind;

示例:

//設定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" );




相關文章