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) { } });