佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 重寫 ajax 實現(xiàn) session 超時跳轉(zhuǎn)到登錄頁面實例代碼

重寫 ajax 實現(xiàn) session 超時跳轉(zhuǎn)到登錄頁面實例代碼

熱門標(biāo)簽:電子圍欄 科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù) Linux服務(wù)器 阿里云 Mysql連接數(shù)設(shè)置 團(tuán)購網(wǎng)站 服務(wù)器配置

問題:使用window.location.href來跳轉(zhuǎn)頁面的時候,后端只需實現(xiàn)一個過濾器就可以在session超時的情況下重定向到登陸頁面。但是使用ajax呢?使用ajax來執(zhí)行會發(fā)生302錯誤,并且頁面不可能跳轉(zhuǎn)。下面就針對這個問題來貼上我的前后端代碼。

1、session過濾器

import java.io.IOException;
p style="text-align: center">img alt=""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;
import javax.servlet.http.HttpSession;
p style="text-align: center">img alt=""public class SessionFilter implements Filter {
p style="text-align: center">img alt="" public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain)
   throws IOException, ServletException {
  HttpServletRequest request = (HttpServletRequest) req;
  HttpServletResponse response = (HttpServletResponse) res;
p style="text-align: center">img alt=""  String requestUri = request.getRequestURI();
p style="text-align: center">img alt=""  if (requestUri.indexOf("/login.html") > 0 || requestUri.indexOf("/system/login") > 0) {
   return ;
  }
p style="text-align: center">img alt=""  HttpSession session = request.getSession(false);
p style="text-align: center">img alt=""  if (session == null) {
   // 如果是session超時,在此處做處理。
   response.sendRedirect(request.getContextPath() + "/login.html");
   return ;
  }
  try {
   filterChain.doFilter(request, response);
  } catch (Exception e) {
   e.printStackTrace();
  }
  return ;
 }
}

2、web.xml添加配置:

filter>
  filter-name>sessionFilter/filter-name>
  filter-class>com.manager.filter.SessionFilter/filter-class>
/filter>
filter-mapping>
  filter-name>sessionFilter/filter-name>
  url-pattern>/manager/*/url-pattern>
/filter-mapping>

*3、重寫ajax

注意:此段代碼放在index頁

jQuery(function($){
   var _ajax=$.ajax;
   $.ajax=function(opt){
    var _success = opt  opt.success || function(a, b){};
    var _opt = $.extend(opt, {
     success:function(data, textStatus){
      _success(data, textStatus); 
     },
     error:function(XMLHttpRequest, textStatus, errorThrown){
      //alert(XMLHttpRequest.responseText);
      //如果請求發(fā)生錯誤,會返回登陸頁面源代碼,如果源代碼里面存在lovnx這個字符串,前端就重定向到登陸頁面
      var reData = XMLHttpRequest.responseText + "";
      if(reData.indexOf('lovnx') != -1) {
       window.location.href="/manager/login.html" rel="external nofollow" ;
       return;
      }
     }
    });
    return _ajax(_opt);
   };
  });

4、登陸頁面添加代碼

input type="hidden" value="lovnx">

以上所述是小編給大家介紹的重寫 ajax 實現(xiàn) session 超時跳轉(zhuǎn)到登錄頁面實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • ajax編寫簡單的登錄頁面
  • Ajax Session失效跳轉(zhuǎn)登錄頁面的方法
  • 登錄超時給出提示跳到登錄頁面(ajax、導(dǎo)入、導(dǎo)出)
  • 一款經(jīng)典的ajax登錄頁面 后臺asp.net
  • ajax實現(xiàn)簡單登錄頁面

標(biāo)簽:棗莊 江蘇 萍鄉(xiāng) 衡水 廣元 衢州 大理 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《重寫 ajax 實現(xiàn) session 超時跳轉(zhuǎn)到登錄頁面實例代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    荔波县| 称多县| 楚雄市| 霍邱县| 息烽县| 大方县| 泰宁县| 桦川县| 北票市| 南充市| 东源县| 肥东县| 中卫市| 西平县| 津南区| 姚安县| 舒兰市| 鹿邑县| 桐梓县| 定日县| 张家口市| 朝阳市| 杭锦旗| 依安县| 乐安县| 莲花县| 如东县| 仪征市| 宝鸡市| 曲阳县| 庆阳市| 万山特区| 沾化县| 洞口县| 南京市| 清原| 临沭县| 长海县| 上饶市| 光山县| 临桂县|