ajax如何实现会话超时跳转到登录页面

  介绍

这篇文章给大家分享的是有关ajax如何实现会话超时跳转到登录页面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

问题:使用window.location。href来跳转页面的时候,后端只需实现一个过滤器就可以在会话超时的情况下重定向到登陆页面。但是使用ajax呢?使用ajax来执行会发生302错误,并且页面不可能跳转。

<强> 1,会话过滤器

import  java.io.IOException;   & lt; p 祝辞& lt; img  alt=啊癷mport  javax.servlet.Filter;   import  javax.servlet.FilterChain;   import  javax.servlet.FilterConfig;   import  javax.servlet.ServletException;   与javax . servlet . servletrequest import ;   import  javax.servlet.ServletResponse;   import  javax.servlet.http.HttpServletRequest;   import  javax.servlet.http.HttpServletResponse;   import  javax.servlet.http.HttpSession;   & lt; p 祝辞& lt; img  alt=啊皃ublic  class  SessionFilter  implements  Filter  {   & lt; p 祝辞& lt; img  alt=啊? public  void 的doFilter (ServletRequest 点播,ServletResponse ,, FilterChain  filterChain)   ,,throws  IOException, ServletException  {   HttpServletRequest 才能;request =, (HttpServletRequest),要求;   HttpServletResponse 才能;response =, (HttpServletResponse), res;   & lt; p 祝辞& lt; img  alt=啊?, String  requestUri =, request.getRequestURI ();   & lt; p 祝辞& lt; img  alt=啊?, if  (requestUri.indexOf (“/login.html"),祝辞,0,| |,requestUri.indexOf(“/系统/login"),祝辞,0),{   ,,return ;   ,,}   & lt; p 祝辞& lt; img  alt=啊?, HttpSession  session =, request.getSession(假);   & lt; p 祝辞& lt; img  alt=啊?, if  (session ==, null), {   ,,//,如果是会话超时,在此处做处理。   ,,response.sendRedirect (request.getContextPath (), +,“/login.html");   ,,return ;   ,,}   try {才能   ,,filterChain.doFilter(请求,响应);   ,,},catch  (Exception  e), {   ,,e.printStackTrace ();   ,,}   return 才能;;   ,}   }

<强> 2,网络。xml添加配置:

& lt; filter>   & lt;才能filter-name> sessionFilter</filter-name>   & lt;才能filter-class> com.manager.filter.SessionFilter</filter-class>   & lt;/filter>   & lt; filter-mapping>   & lt;才能filter-name> sessionFilter</filter-name>   & lt;才能url-pattern>/经理/* & lt;/url-pattern>   & lt;/filter-mapping>

<强> * 3,重写ajax

注意:此段代码放在索引页

jQuery(函数($){   ,,var  _ajax=$ . ajax;   ,,. ajax美元=function(选择){   ,,,var  _success =, opt ,,, opt.success  | |,函数(a, b) {};   ,,,var  _opt  .extend美元=,(选择,,{   ,,,,成功:功能(数据,textStatus) {   ,,,,,_success(数据,textStatus),,   ,,,,},   ,,,,错误:函数(XMLHttpRequest, textStatus,, errorThrown) {   ,,,,,//警报(XMLHttpRequest.responseText);   ,,,,,//如果请求发生错误,会返回登陆页面源代码,如果源代码里面存在lovnx这个字符串,前端就重定向到登陆页面   ,,,,,var  reData =, XMLHttpRequest.responseText  +,““   ,,,,,如果(reData.indexOf (& # 39; lovnx& # 39;), !=, 1), {   ,,,,,,window.location.href=https://www.yisu.com/zixun/?经理/login.html”rel=巴獠縩ofollow”;   返回;   }   }   });   返回_ajax (_opt);   };   });

<强> 4,登陆页面添加代码

& lt; input 类型=癶idden", value=https://www.yisu.com/zixun/" lovnx ">

感谢各位的阅读!关于“ajax如何实现会话超时跳转到登录页面”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

ajax如何实现会话超时跳转到登录页面