1. 程式人生 > >mvc ajax 請求 session失效,跳轉到登入頁

mvc ajax 請求 session失效,跳轉到登入頁

 public class BaseController : Controller    {        ///        /// 登入驗證/掉線攔截        /// protected override void OnActionExecuting(ActionExecutingContext filterContext)        {            //過濾攔截掉 賦值給 ActionExecutingContext 則不會繼續執行別的控制下的action             if (Session["UserInfo"] == null)            {                //filterContext.HttpContext.Response.Clear();                //filterContext.HttpContext.Response.BufferOutput = true;                //if (!filterContext.HttpContext.Response.IsRequestBeingRedirected) //在跳轉之前做判斷,防止重複                //{                //filterContext.Result = RedirectLogin();                //}if (LoginUser.UserDomainID == null && !filterContext.ActionDescriptor.ActionName.ToUpper().Contains("LOGIN") && !filterContext.ActionDescriptor.ActionName.Contains("IsExceptionUse")) //判斷seesion 是否失效
            {
filterContext.Result = RedirectLogin();
            }        }    ///        /// 跳轉登出action        ///        ///        public ActionResult RedirectLogin()        {            ContentResult cr = new ContentResult();            cr.Content = "<script>window.location.href='"+Url.Content("/Home/Login") + "'</script>";            return cr;        }

AJAX 請求

$.ajax({
                    type: "post",//選擇提交的方式
                    url: "@Url.Content("~/Home/Index")",//提交的方式
                    async: true,//預設為非同步
                    data: {
                        title: $(this).parent().index()//提交的資料
                    },
                    success: function (data) {

                        $(".main").html(data);//成功的時候返回的Html頁面(實現無重新整理跳轉)

                    },
                    //beforeSend: function (data)
                    //{
                    //    $(".main

").html("<img class='ladingimg img-responsive' src='http://115.159.74.194:8787/images/lading.gif' />");
                    //},這段如果資料載入較久的時候可以加,就是在資料載入時候出現的過場動畫
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                  
                        //var rStr = XMLHttpRequest.responseText;
                        //if (rStr.indexOf("<script>") > -1 && rStr.indexOf("SignIn") > -1){
                        //    var str = rStr.replace("<script>","").replace("<\/script>","");
                        //    if(window.execScript)
                        //    {
                        //        window.execScript(str,"JavaScript");
                        //    }
                        //    else
                        //    {
                        //        window.eval(str);
                        //    }
                        //}
                    }
                });

相關推薦

mvc ajax 請求 session失效登入

 public class BaseController : Controller    {        ///        /// 登入驗證/掉線攔截        /// protected override void OnActionExecuting(ActionExecutingContext

springmvc控制登入使用者session失效登入頁面

第一步,配置 web.xml [html] view plain copy   print? <spanstyle="font-size:18px;"><session-config>     <session-timeou

react axios和ajax網路請求攔截(session過期登入

網路請求攔截經常也可用到,比如在所有介面訊息請求頭部加上驗證資訊token之類的,或者介面報某類錯誤時統一處理。這裡主要用在請求介面時,判斷session是否過期,統一返回狀態碼區分,如果過期了跳轉登入頁重新登入 攔截axios部分 重新封裝axios請求

ajax Session失效如何登入頁面

一、建立攔截器package com.xxx.planeap.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;impo

ajax請求session失效重定向到登錄頁面

ttr == als xmlhttp 操作 var ajax請求 direct 自定義 在ajax請求的頁面引入一個自定義的AjaxRedirect.js的文件 AjaxRedirect.js的代碼如下: $(function(){ $.ajaxSetup({

session超時頁面

建一個pagebase的基類,重寫其On_init方法protected override void OnInit(EventArgs e)   {        base.OnInit(e);        if (

webapp 使用者登入登入完返回重新整理使用者

mui專案:我有兩種方案: 1.window.opener.reload() 2.登入頁以彈出層的方式載入,登入完只需重新整理當前就ok created(){       //判斷是否已登入 } vue-cli專案 當前使用 /

Iframe應用和ServletResponse重定向,session過期過濾器登入頁面

最近專案用到了ServletResponse的重定向,也就是servlet過濾器,session過期自動跳轉登入頁面,以前見過其他寫法,感覺麻煩,不就是重定向嗎,一句程式碼搞定,寫那麼多幹嘛。最近真正用到這個技術寫法,不得不去考究下。 1.session過期一般寫法 res

Ajax請求session失效統一處理到登陸

在登陸也上做一個標記比如 <meta name="sp" content="shanzhubuchiwandoujie"> 當ajax成功返回的data是登陸頁面,也就是包含以上資訊,就去登陸頁。 需要做的是重寫jquery的ajax方法,在所有的ajax請求

mvc ajax訪問後臺時session過期無法到Login頁面問題解決

題解 AI web iso null ida color span 解決 public class BaseController : Controller { protected User UserInfo {

Shiro攔截器登入時判斷是ajax請求返回json普通請求頁面

在使用shiro時,會遇到普通的頁面請求以及api介面呼叫的請求,因此需要區別對待來判斷是跳轉登入頁面還是返回json的資料: 1.建立攔截器 package org.zyyd.base.filter; import com.alibaba.fastjson.JSONObject;

判斷session失效登入頁面

一,首先在登入頁面加入以下程式碼,作用是使用ifrme等載入頁面時,跳轉登入頁面會巢狀在框架內,讓登入頁面全屏<script language="JavaScript"> if (window != top) { top.locat

ajax請求 session過期的兩種處理方式

在處理session過期跳轉首頁時遇到了一些困難,經過百度發現了大致兩種方法,在這裡進行一下整理: 1、直接重寫jquery   ajax方法: (function($){ //備份jquery的ajax方法 var _ajax=$.ajax;

Ajax Session失效登入頁面的方法

在Struts應用中,我們發出的請求都會經過 相應的攔截器進行相關處理,一般都會有一個使用者登入攔截(Session失效攔截);一般請求的話,如果Session失效時,我們會跳到登入頁面,可是如果我們採用AJAX請求時,將會返回登入頁面的HTML程式碼,這肯定不是我們想要的,

session失效頁面到登陸介面的處理

每個系統頁面操作過程中都有一個session,session可以存放少量的使用者資訊,供我們的頁面操作使用。當session超時失效的時候我們就要重新往session中寫入登陸的使用者資訊,而這個寫入的操作一般寫在在使用者成功登陸系統的時候,所以當session失效時,我們頁

spring boot security 實現登陸時ajax請求返回json而不是直接頁面

1、編寫自己的SuccessHandler public class AuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler {public void onAuthenticati

asp.net mvc項目實戰遇見問題及解決方式----ajax請求500錯誤請求多表數據

導航欄 asp 遇見 mvc 方式 出現 .net alac 利用 ajax請求出現500錯誤——但是想實現的功能是,把一個頁面分成了兩份,點擊右邊導航欄,利用ajax請求,請求數據,在右邊出現相應頁面,當時使用的是partialAction然後出現了這個500錯誤,主要就

React PureComponent導致react-router-dom Link 失效 路由失敗(位址列變頁面不)

載入路由的元件 不能 extends PureComponent entry.js import React, { Component } from 'react' import { BrowserRouter } from 'react-router-dom' import

vue路由設定登入失效到去登入頁面。登入後開啟的是你最後登入的頁面

main.js   router.beforeEach((to, from, next) => {     document.title=to.name;   //讓頁面title顯示路由對應的name值--xlz &

前臺ajax重寫方法搭配後臺filter返回status實現ajax請求登入頁面

前後端分離之後,原生的jquery的ajax不能實現控制頁面跳轉,一般會出現狀態碼302錯誤,但是可以通過重寫ajax增強方法,搭配後臺返回狀態碼錯誤實現頁面跳轉.後臺的filter核心程式碼為 HttpServletResponse httpResponse = (Ht