1. 介紹
通過 jQuery 提供的 ajaxSetup 方法,我們可以攔截頁面上所有的 Ajax 請求響應(包括 $.ajax、$.post、$.get)。這樣我們可以對這些 Ajax 請求響應做統一的處理。
2. 實例
在每個需要攔截的頁面中添加 或者 在頁面引入的js文件中添加
//全局的ajax訪問,處理ajax清求時session超時
$.ajaxSetup({
contentType:"application/x-www-form-urlencoded;charset=utf-8",
//請求發送之前
beforeSend:function(xhr) {
xhr.setRequestHeader('Authorization','Token 123')
},
//請求完成之后
complete:function(XMLHttpRequest,textStatus){
//通過XMLHttpRequest取得響應頭,sessionstatus,
var sessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus");
if(sessionstatus=="timeout"){
//如果超時就處理 ,指定要跳轉的頁面(比如登陸頁)
window.location.replace("/login/index.php");
}
}
});
