详情参考:http://blog.csdn.net/zuxianghuang/article/details/7270489
首先建了个拦截器,来判断session超时。用户登录后会保存用户信息在一个session里,在session的监听里,session超时会销毁保存在session里的用户信息,而拦截器就通过session里是否有用户信息来判断session超时。(我总觉得这种方法不怎么好。不知还有什么更好的办法。)
拦截器是spring-mvc的拦截器,在拦截器里判断是不是ajax请求:
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (request.getSession().getAttribute("user") == null)//判断session里是否有用户信息
{
if (request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with") .equalsIgnoreCase("XMLHttpRequest"))//如果是ajax请求响应头会有,x-requested-with; {
response.setHeader("sessionstatus", "timeout");//在响应头设置session状态
return false;
}
}
return true;
}
这样,如果session超时,而且是ajax请求,就会在响应头里,sessionstatus有一个timeout;
再用一个全局的方法来处理,session超时要跳转的页面。
jquery 可以用$.ajaxSetup 方法,ext也有类似的方法
//全局的ajax访问,处理ajax清求时sesion超时
$.ajaxSetup({
contentType:"application/x-www-form-urlencoded;charset=utf-8",
complete:function(XMLHttpRequest,textStatus){ var sessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus"); //通过XMLHttpRequest取得响应头,sessionstatus,
if(sessionstatus=="timeout"){ //如果超时就处理 ,指定要跳转的页面 window.location.replace("${path}/common/login.do");
}
}
}
});
相关推荐
Ajax请求session超时处理流程 java服务器端处理: SessionValidateFilter中修改: if (ServerInfo.isAjax(request)) { request.setAttribute("statusCode", 301); request.setAttribute("message", "Session ...
现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不
ajaxform,ajax表单提交,方便客户端ajax验证,方便用户体验,人性化表单处理
如果session超时,而且是ajax请求,就会在响应头里。再用一个全局的方法来处理,session超时要跳转的页面
jquery中各个事件执行顺序如下: ...其中,全局事件可以在ajax相关方法外引用(比如,通过该方式将ajax执行各个阶段的信息显示在页面某个地方)。 下例演示一次ajax请求过程中各个事件执行的顺序,以及全局ajax的使
在ajax中使用post方法,用常规的参数格式:param1=a1¶m2=a2 ,当参数长度过长时,依然提交不成功。比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application...
jQuery 3.1 标准课程第九章 Ajax全局ajax事件(一)
jQuery 3.1 标准课程第九章 Ajax全局ajax事件(二)
Js 拦截全局ajax请求
主要介绍了为jquery的ajax请求添加超时timeout时间的操作方法,文中通过一段简单的代码给大家介绍jquery ajax超时设置方法,感兴趣的朋友跟随脚本之家小编一起看看吧
Spring Boot 使用 Redis 进行配置 Session 共享(Ajax 跨域) 源码下载。
下面小编就为大家带来一篇ajax 操作全局监测,用户session失效的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
学习的网上的一个ajax版注册程序,对界面进行了改变!是适合学习ajax的朋友的一个好的例子!
主要介绍了基于jQuery的全局ajax函数处理session过期后的ajax操作的相关资料,需要的朋友可以参考下
下面小编就为大家带来一篇Web 开发中Ajax的Session 超时处理方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
完整的jq ajax提交表单,奖解压后jq文档加入页面中,调用就可惟了。 表单结构 <form id="myForm" action="comment.php" method="post"> Name: <input type="text" name="name" /> Comment: <...
NULL 博文链接:https://ait.iteye.com/blog/1867548
Ajax中文乱码问题解决方案