jQuery $.ajaxSetup方法

jQuery.ajaxSetup()函数用于设置Ajax的全局默认设置。

该函数用于更改jQuery中AJAX请求的默认设置选项。之后执行的所有AJAX请求,如果对应的选项参数没有设置,将使用更改后的默认设置。该函数属于全局jQuery对象。

2,示例说明

//设置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" );

//下例,如果局部设置了beforeSend参数,那么全局设置的beforeSend将不会执行。

$.ajaxSetup({
        beforeSend:function(){
            alert('我是全局beforeSend!');
        },
        error:function(){
            alert('请求出错');
        }
    });

    $.ajax({
        url: "/api/v1/Company/Initialize",    //请求的url地址
        dataType: "json",
        async: false,
        type: "GET",
        global:false,
        beforeSend:function(){
            alert('我是局部beforeSend!');
        },
        success: function (reg) {
        }
    });
原文地址:https://www.cnblogs.com/qianxunpu/p/8808031.html