jQuery.ajaxSetup() 函数详解
该函数用于更改jQuery中AJAX请求的默认设置选项。之后执行的所有AJAX请求,如果对应的选项参数没有设置,
将使用更改后的默认设置。
//设置AJAX的全局默认选项
$.ajaxSetup( {
aysnc: true, // 默认同异加载
type: "POST" , // 默认使用POST方式
headers: { // 默认添加请求头
"Author": "arzorath" ,
"Powered-By": "arzorath"
} ,
//完成请求后触发。即在success或error触发后触发
complete : function (request, textStatus) {
// 一般这里写一些公共处理方法,比如捕获后台异常,展示到页面
var status = request.status;
//后台自定义抛出异常后处理
if(status == 299) {
var msg = request.responseText || "数据异常!"
parent.$.messager.alert('错误提示', request.responseText || "数据异常!", "error" );
} else if(status == 298){
//未登录
parent.$.messager.alert('错误提示', request.responseText,"error");
} else if(status == 404){
parent.$.messager.alert('错误提示', request.responseText,"error");
} else if(status == 0){
//超时 返回0
if("timeout" == textStatus) {
parent.$.messager.alert('错误提示', "服务器连接超时!","error");
}
} else if(status == 200){
//页面能相应
if(textStatus != "success") {
var content = request.responseText;
}
}
},
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 );
}
} );
// 上述$.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" );