解决spring-security session超时 Ajax 请求没有重定向的问题

开始时, 代码是这样的:

        $.ajax({
            type : "POST",
            url : sSource,
            cache : false,
            dataType : "json",
            data : aoData,
            success : function(resp) {
                alert(11)
                fnCallback(resp);
                $.dialog.tips(‘数据加载完毕‘, 1, ‘success.gif‘, function() {                 });
            }
        });

spring-security session超时后, 查询按钮仍然可以点击, 而且没有跳转,  观察发现这个方法有问题.

了解到ajax 请求的更多的用法后, 发现, 问题在于这个请求是json 格式的,  spring-security session超时后, 返回的是 重定向后的 登录页面,  那么就知道怎么办了.

原因其实不复杂, 解决方案也简单, --- 增加了错误处理方法, 问题解决!

,
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                /* alert(textStatus)//  这里是 parseFailue
                alert(errorThrown) // 这里显示是 解析json 错误,
                alert(XMLHttpRequest) */
                responseText = XMLHttpRequest.responseText
                // alert ( responseText )
                  document.write(responseText); //
            },
            complete: function (XMLHttpRequest, textStatus) {

            }

记录下!

原文地址:https://www.cnblogs.com/FlyAway2013/p/9600112.html

时间: 2024-07-30 22:54:30

解决spring-security session超时 Ajax 请求没有重定向的问题的相关文章

解决shiro登陆超时ajax请求跳转

使用JQueryEasyUI的时候,普通请求在shrio登陆超时的时候都可以正常跳转,而ajax请求在登陆超时的时候就不跳转,上网找了下资料,都表达的不明确,而且设置一大堆,还得写过滤器.无意中找到JQuery设置全局 AJAX 默认选项.具体代码如下! $.ajaxSetup({     complete:function(XMLHttpRequest,textStatus){           if(textStatus=="parsererror"){             

ajax请求不能重定向问题探究及解决【借鉴、参考】

[声明]本文章是为了解决个人项目中遇到的ajax请求与重定向的问题,参考了多位网友的博客和意见,感谢这些网友! 1.原因探究及解决方法(参考网友,只做以后查询用) response.sendRedirect做转向的原理,它其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化. 而ajax请求是局部刷新,默认是不支持重定向或转发,因此需要对请求进行判断: 权限拦截器代码示例: 页面要设置全局js,重写a

Spring Mvc Session超时easyui tab页中ajax请求跳出问题

<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射,添加拦截器,类级别的处理器映射 --> 拦截器配置 public class HandlerInterceptor1 extends HandlerInterceptorAdapter {//此处一般继承HandlerInterceptorAdapter适配器即可 @Override public boolean preHandle(HttpServletRequest request, HttpServletResp

spring mvc session超时,处理ajax请求

做web开发时,当session超时时,如果不是ajax请求,很简单就能实现跳到指定的页面.但是ajax请求就会有问题.session超时的时候,点击到ajax请求就会弹出一些页面源码文件. 首先建了个拦截器,来判断session超时.用户登录后会保存用户信息在一个session里,在session的监听里,session超时会销毁保存在session里的用户信息,而拦截器就通过session里是否有用户信息来判断session超时. 拦截器是spring-mvc的拦截器,在拦截器里判断是不是a

Spring Security 入门(1-13)Spring Security - Session管理

session 管理 Spring Security 通过 http 元素下的子元素 session-management 提供了对 Http Session 管理的支持. 检测 session 超时 Spring Security 可以在用户使用已经超时的 sessionId 进行请求时将用户引导到指定的页面.这个可以通过如下配置来实现. <security:http> ... <!-- session 管理,invalid-session-url 指定使用已经超时的 sessionI

Spring Security Session Time Out

最近在用Spring Security做登录管理,登陆成功后,页面长时间无操作,超过session的有效期后,再次点击页面操作,页面无反应,需重新登录后才可正常使用系统. 为了优化用户体验,使得在session失效后,用户点击页面对服务器发起请求时,页面能够自动跳转到登录页面.本次使用spring security 3.1. 第一步:配置spring security的专用配置文件spring-security.xml. <http auto-config="true" entr

【学习、总结】Spring security 登陆超时处理

目标: 用户登陆超过一定时间,在页面做请求时,提示类似登陆已超时,请重新登陆信息. 实现: 1.超时时间配置(web.xml): <session-config> <!-- 10分钟 --> <session-timeout>10</session-timeout> <tracking-mode>COOKIE</tracking-mode> <cookie-config> <secure>false</s

[原创]java WEB学习笔记15:域对象的属性操作(pageContext,request,session,application) 及 请求的重定向和转发

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

解决Spring Cloud中Feign第一次请求失败的问题

在Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题 com.netflix.hystrix.exception.HystrixTimeoutException: null at com.netflix.hystrix.AbstractCommand$HystrixObservableTimeoutOperator$1.run(AbstractCommand.java:1142) ~[hystrix-core-1.5.18.jar:1.5.