Ajax请求Session超时解决
生活随笔
收集整理的這篇文章主要介紹了
Ajax请求Session超时解决
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
$.ajaxSetup({contentType : "application/x-www-form-urlencoded;charset=utf-8",complete : function(xhr, textStatus) {if (xhr.status == 520) {//如果返回狀態碼是520window.location..reload();//刷新頁面,執行登錄邏輯return;}}
});
java代碼:
1. 寫一個filter
import java.io.IOException;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class SessionTimeoutFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse res = (HttpServletResponse) response;// 判斷session里是否有用戶信息if (req.getSession().getAttribute("username") == null){// 如果是ajax請求響應頭會有,x-requested-with;if (req.getHeader("x-requested-with") != null && req.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){res.setStatus(520);//表示session timeout}else{chain.doFilter(req, res);}}else{chain.doFilter(req, res);}}public void init(FilterConfig chain) throws ServletException {} }?
轉載地址:?https://www.cnblogs.com/cxyj/p/3884964.html
?
總結
以上是生活随笔為你收集整理的Ajax请求Session超时解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot上传文件及文件上传限
- 下一篇: 消息称第二届《CS2》Major 赛事将