调用ajax时session过期的处理方法
发布时间:2020-12-16 00:26:03 所属栏目:百科 来源:网络整理
导读:首先在js文件中添加如下代码: $.ajaxSetup({ contentType:"application/x-www-form-urlencoded;charset=utf-8",complete:function(XMLHttpRequest,textStatus){ var sessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus"); if(sessionstatus=="
首先在js文件中添加如下代码: $.ajaxSetup({ contentType:"application/x-www-form-urlencoded;charset=utf-8",complete:function(XMLHttpRequest,textStatus){ var sessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus"); if(sessionstatus=="sessionOut"){ location.href = "../login.jsp?t=" + new Date().getTime(); } } }); 以上代码在调用ajax之前先执行。 然后在Filter中添加如下代码: HttpSession session = request.getSession(true); if (request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with") .equalsIgnoreCase("XMLHttpRequest") && session.getAttribute("loginID") == null){ response.setHeader("sessionstatus","sessionOut"); response.getWriter().print("sessionOut"); }else{ chain.doFilter(req,res); } 当判断session.getAttribute("loginID")为空时,证明session过期,此时complete中的代码被执行。 其中location.href中添加类似于url?xxx=随机数是为了防止JSP页面的缓存,随机数可以赋值为new Date().getTime()。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |