ajax請求 session過期跳轉首頁的兩種處理方式
在處理session過期跳轉首頁時遇到了一些困難,經過百度發現了大致兩種方法,在這裡進行一下整理:
1、直接重寫jquery ajax方法:
(function($){ //備份jquery的ajax方法 var _ajax=$.ajax; //重寫jquery的ajax方法 $.ajax=function(opt){ //備份opt中error和success方法 var fn = { error:function(XMLHttpRequest, textStatus, errorThrown){}, success:function(data, textStatus){ alert(textStatus); //在這裡進行跳轉 } } if(opt.error){ fn.error=opt.error; } if(opt.success){ fn.success=opt.success; } //擴充套件增強處理 var _opt = $.extend(opt,{ error:function(XMLHttpRequest, textStatus, errorThrown){ //錯誤方法增強處理 fn.error(XMLHttpRequest, textStatus, errorThrown); }, success:function(data, textStatus){ //成功回撥方法增強處理 fn.success(data, textStatus); } }); _ajax(_opt); }; })(jQuery);
這種方法與jquery.min.js庫有衝突,使用時一定要注意!
2、基於ajaxSetup來進行控制:在登入的過濾器或者攔截器中新增一下程式碼:
js中新增:if("XMLHttpRequest".equals(((HttpServletRequest) request).getHeader("X-Requested-With"))){ ((HttpServletResponse) response).setHeader("sessionstatus", "timeout"); ((HttpServletResponse) response).setHeader("redirectUrl", ((HttpServletRequest) request).getContextPath() + "/login.jsp"); } else { ((HttpServletResponse) response).sendRedirect(path2); } // 如果session為空表示使用者沒有登入就重定向到login.jsp頁面 return;
jquery不推薦使用ajaxSetup容易影響其他外掛ajax發生衝突,以上兩種方式在使用過程中一定要謹慎!//全域性的AJAX訪問,處理AJAX清求時SESSION超時 if(typeof($)!="undefined"){ $.ajaxSetup({ contentType : "application/x-www-form-urlencoded;charset=utf-8", complete : function(XMLHttpRequest, textStatus) { // 通過XMLHttpRequest取得響應頭,sessionstatus var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus"); if (sessionstatus == "timeout") { // 這裡怎麼處理在你,這裡跳轉的登入頁面 window.location.replace(XMLHttpRequest.getResponseHeader("redirectUrl")); } } }); }
相關推薦
ajax請求 session過期跳轉首頁的兩種處理方式
在處理session過期跳轉首頁時遇到了一些困難,經過百度發現了大致兩種方法,在這裡進行一下整理: 1、直接重寫jquery ajax方法: (function($){ //備份jquery的ajax方法 var _ajax=$.ajax;
react axios和ajax網路請求攔截(session過期跳轉登入頁)
網路請求攔截經常也可用到,比如在所有介面訊息請求頭部加上驗證資訊token之類的,或者介面報某類錯誤時統一處理。這裡主要用在請求介面時,判斷session是否過期,統一返回狀態碼區分,如果過期了跳轉登入頁重新登入 攔截axios部分 重新封裝axios請求
asp.net 實現session過期跳轉到首頁
BasePage.cs public class BasePage : System.Web.UI.Page { public BasePage() { } protected overrid
解決session過期跳轉到登錄頁並跳出iframe框架(或者layui彈出層)
ref 界面 func ESS pre 這不 session ram 用戶 當用戶長時間停留在管理界面沒有操作,等到session過期後,進行了操作,那麽只是iframe跳轉到login頁面,這不是我們想要的結果。解決方法:在login頁面加一個邏輯判斷: <scr
Ajax 請求時後臺跳轉 前端頁面不更新踩坑記錄
style 返回 url direct edi pos 通過 繼續 檢查 踩坑環境:前端:Ajax post請求,json類型數據;後端 C#+MVC,前後端正常通信,但是當後臺驗證權限不通過時會RedirectToAction跳轉到登錄頁,結果現象是後臺正常執行登錄頁的渲
java 攔截器做session過期跳轉登入頁面時無法重定向問題
這個問題好坑,也沒人寫個標題出來提醒大家不要再入坑,以前只是用,沒具體自己寫寫,這次專案用到了,自己寫寫還真遇到問題,這次記錄下來防止再次入坑。 1.起初懷疑攔截器配置有問題,經過驗證,攔截器沒有問題,訪問攔截到了,response也重定向了,就是頁面無法跳轉。
django 登入和session過期跳轉
http://www.cnblogs.com/fnng/p/3841246.html 這裡需要說名一下,使用的是django自帶的session封裝技術,是在設定了request.session['userName'] = userName 之後,才會在mysql的ses
springMVC session過期跳轉到登入介面
1、非ajax的傳統型跳轉和ajax請求資料跳轉2、使用springMVC攔截器攔截請求,判斷session是否過期3、使用ajaxSetup 全域性判斷session請求是否過期。 這種方式不是最好的方式,貌似有三種方式處理ajax重定向的問題,修改jquer
Python3.6+Django2.0.2 實現使用者登入+跳轉首頁--左側選單+新增使用者資訊--展示使用者資訊
一、環境要求:python版本:Python3.6.4web框架:Django2.0.2開發工具:Eclipse+Pydev資料庫:mysqlweb:html+css+JavaScript二、實現需求:1、使用者登入:使用者登入頁面,輸入使用者名稱、密碼(非加密),通過與資料
Ajax 請求session過期的統一處理
web專案中,如果一個頁面長時間沒有操作,而session已經過期了,這時如果執行一些操作,比如查詢 編輯 等ajax請求,如果使用的是jquery $.post()方法,即使後臺判斷session過期,進行轉發,前臺也不會有響應,而對使用者造成一定的困惑。
spring mvc session過期跳轉到登入頁面方法
在頁面上新增以下語句 <script> <c:if test="${currentAccount == null}">window.location.href = path+"/index/login"; </c:if> </scr
thinkPHP 5 nginx 部署時,只跳轉首頁問題
在使用tp5時候把它部署到伺服器上發現一個奇葩的事情,就是它預設訪問config配置的預設頁,無論怎麼跳轉到其他介面都不好使,最終重寫了 Nginx 的配置檔案解決了這個問題server{
session過期跳轉到登陸頁面並跳出iframe框架的兩個方法
原文章地址:http://1008610086.blog.51cto.com/4995677/1538464 最近在做攔截器,判斷使用者登入後操作超時,失去許可權然後要重新登入,但是用的iframe,返回的登陸頁總是在框架中顯示,我百度了下,總是隻有其中一個方法,現在
小程序初始化加載,根據登錄狀態判斷跳轉首頁還是登錄頁
tor storage ora onload 一閃而過 sch 成功 class switch 準備是在小程序初始化進行一下登錄狀態判斷,每次登陸以後會在storage裏存一個user,根據這個值判斷,沒登陸過小程序啟動進登錄頁面,登陸過直接跳轉首頁: App({
安卓專案實戰之設定Activity跳轉動畫的5種實現方式
前言 在介紹activity的切換動畫之前我們先來說明一下實現切換activity的兩種方式: 1,呼叫startActivity方法啟動一個新的Activity並跳轉其頁面 2,呼叫finish方法銷燬當前的Activity返回上一個Activity介面 當呼叫startActiv
jsp中跳轉 jsp的兩種跳轉方式及區別
//注意:不推薦中文檔名如"目的頁面.jsp",此處僅為了教程需要而使用 // 帶session,不帶request的跳轉(客戶端跳轉) responst.sendRedirect("目的頁面.jsp"); // 帶session,帶request的跳轉(
ios 跳轉AppStore的兩種方法,以及遇到的坑
iOS跳轉appStore的兩種方法網上已經有很多的部落格進行講解了,主要是app內跳轉相關網頁,和跳出app,跳轉到AppStore。相關的部落格大家可以參看參考部落格 為了防止參考部落格實效,我把相關程式碼copy了一下,希望大家不要介意。 1,
微信跳轉瀏覽器提示_微信跳轉外部瀏覽器跳轉提示的2種實現方式
上半年公司有一個新的APP專案上線,我們在專案首頁做個二維碼,然後使用者用手機掃一掃就能下載了。但是很多使
JFreeChart與AJAX+JSON+ECharts兩種處理方式生成熱詞統計可視化圖表
線型 static 後臺 標註 png tip 開源工具 grid 讀取 本篇的思想:對HDFS獲取的數據進行兩種不同的可視化圖表處理方式。第一種JFreeChar可視化處理生成圖片文件查看。第二種AJAX+JSON+ECharts實現可視化圖表,並呈現於瀏覽器上。
android------引導頁兩種實現方式(原生和WebView網頁實現)
有的App當你第一次開啟的是和常常會有引導頁來描述一些App資訊(功能,特點),當然也要做驗證,驗證第二次進入不進入引導頁,直接進入App,此部落格藉助ViewPager來實現引導頁, ViewPager類提供了多介面切換的新效果,是谷歌在3.0之後加入的新特性,所以需要引