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