$.ajaxSetup()方法用于对ajax进行全局设置,设置后所有的$.ajax()全部遵循上述设置,避免了重复的代码。
$.ajaxSetup({
type: "POST" ,
timeout: 3000,
dataType: 'text',
headers: { // 自定义请求头
"Author": "xl" ,
"Degist": "YmFzZTY0IOino+eggS/nvJbnoIE=",
} ,
//请求成功后触发
success: function (data) {
$('#msg').append('success invoke! data:' + data + '<br/>');
},
//请求失败遇到异常触发
error: function (xhr, status, e) {
$('#msg').append('error invoke! status:' + status+'<br/>');
},
//完成请求后触发,即在success或error触发后触发
complete: function (xhr, status) {
$('#msg').append('complete invoke! status:' + status+'<br/>');
},
//发送请求前触发
beforeSend: function (xhr) {
//比如在这里自定义请求头
xhr.setRequestHeader('Content-Type', 'application/xml;charset=utf-8');
}
});
这一设置对于,前后端分离部署的项目,特别有用。前后端分离的项目要求,对请求头在每个除登录的请求后全部带上,这样可以用ajaxSetup()统一设置,避免重复代码。对于token过期和登出操作返回特殊的标识,可以在complete中进行统一处理,发现特殊标识全部打回登录页。对于没有携带token的情况,也可以进行状态码处理,直接打回登录页。