1.在springmvc或者一套ajax框架的时候需要进行处理,拦截器或者拦截器的状态,尤其针对于session的时候进行的处理,怎么样很好的控制页面的跳转呢
在拦截器里面进行处理和跳转的时候,ajax基本上没有什么好的处理方式要么是转发要么是重定向的两种方式
可是进行过测试和很多的处理依然可以做到,但是页面不会跳转.针对以上的两种情况,经过自己的探究和研究得到一种很可靠的方式,网上也提供了这种方式,但是只是思想,有代码但是实践不可行,个人整理了下并且测试通过,自己做个记录帮助别人或者自己吧。
2思想:session设置状态,全局ajax进行状态的设置和更改进行页面的条状,后台需要进行XMLHttpRequest的拦截
自己实现的方式贴上源代码
if (request.getHeader("x-requested-with") != null
&& request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest"))
{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.setDateHeader("Expires", 0);
response.setHeader("sessionstatus", "timeout");
}
在js的代码里面进行跳转
$.ajaxSetup({
contentType:"application/x-www-form-urlencoded;charset=utf-8",
complete:function(XMLHttpRequest,textStatus){
//通过XMLHttpRequest取得响应头,sessionstatus,
var sessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus");
if(sessionstatus=="timeout"){
// alert("登录超时,请重新登录!");
//如果超时就处理 ,指定要跳转的页面
window.location.replace(rootPath + "/jsp/admin/login.jsp");
}
}
});
好了这样就可以进行设置状态和进行跳转了。
版权声明:本文为a806970740原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。