在处理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来进行控制:

在登录的过滤器或者拦截器中添加一下代码:

 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;  

js中添加:

//全局的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"));  }  }  });
}

jquery不推荐使用ajaxSetup容易影响其他插件ajax发生冲突,以上两种方式在使用过程中一定要谨慎!

ajax请求 session过期跳转首页的两种处理方式相关推荐

  1. php ajax session失效,PHP中解决ajax请求session过期退出登录问题

    1.session过期,如果直接是url请求,或者用户在打开的系统页面中直接清除缓存及cookie信息,可直接在php的入口文件中调用以下封装的方法,进行session信息判断以及页面的跳转,如: i ...

  2. shiro处理ajax请求未登录,shiro处理ajax请求session失效跳转

    最近在学习shiro时遇到一个问题,在ajax请求时,若是session失效时,没法正确的跳转登陆页面.在以前的项目中处理的方法是经过自定义一个过滤器来处理,session失效时返回错误码来处理.但由 ...

  3. ajax类型的区别,ajax请求的类型 有post get 请问两种有何区别?

    1. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML ...

  4. Ajax请求session超时解决办法

    Ajax请求session超时解决办法 问题描述 通过ajax发送请求,被后台过滤器或者拦截器拦截的时候,如果session超时,不会直接跳转到登录页面. 解决方案 在过滤器或者拦截器中设置respo ...

  5. session过期跳转登录页面

    2019独角兽企业重金招聘Python工程师标准>>> 项目需要做一个自动登出的功能,查询了网上的资料,一开始准备用session监听做,按照下面方式配置监听器 1.在项目的web. ...

  6. Shiro session过期跳转到登录页面问题

    Shiro session过期跳转到登录页面问题 shrio的session过期后(工程重启或者用户长时间没进行任何操作),当客户端再次向服务端发起请求时,shrio会判断用户没有登录授权,然后对请求 ...

  7. Ajax请求session超时处理流程(DWZ)

    DWZ-Java框架Ajax请求session超时处理思路:     1)SessionValidateFilter统一验证session是否超时     2)SessionValidateFilte ...

  8. ajax去掉session,PHP中解决ajax请求session过时退出登陆问题

    一.session过时,若是直接是url请求,或者用户在打开的系统页面中直接清除缓存及cookie信息,可直接在php的入口文件中调用如下封装的方法,进行session信息判断以及页面的跳转,如: p ...

  9. 如何在请求转发的时候对url解码_Java技术分享:Forward和Redirect这两种转发方式的区别...

    用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的.根据转发方式的不同,可以区分为直接请求转发 ...

最新文章

  1. 在linux批量删除多级目录下同一格式的文件
  2. 菜鸟刚入手Python第一天
  3. postgreSQl pathman 用法语句总结
  4. LIMIT M,N分页性能优化方案
  5. 通信技术计算机通信方向专业,江西科技学院2014年招生通信工程(计算机通信方向)专业介绍...
  6. pads中如何设置等长_如何在SQL Server中设置扩展,监控系统性能
  7. fragment photoshop_史上最接地气的Photoshop?谈PS 2021的黑科技 - Adobe
  8. 用 Webpack 解决应用性能问题
  9. python画柱状图-python 使用 matplotlib.pyplot来画柱状图和饼图
  10. ViewModel中C# Property自动添加OnPropertyChanged处理的小工具, 以及相应Python知识点...
  11. 程序员一毕业就年薪 110 万竟然是靠……
  12. VS2010 SP1 编译QT4.8.0 x64版本
  13. 利用DRONEKIT-SITL + MAVPROXY + QGroundControl模拟飞行
  14. kata-container初探
  15. Ubuntu中LightDM是什么(转)
  16. 苹果付费app共享公众号_【苹果iOS付费游戏应用帐号分享】新增一款25元iOS游戏应用共享帐号...
  17. 网络软件-管理网络设备和组件
  18. 为什么高质量计算机书籍几乎都是外国人写的?
  19. MySQL的between语句和in语句的区别
  20. 【原创】简单介绍 Windows XP 中的chkdsk(checkdisk磁盘检查)工具

热门文章

  1. SpringBoot中属性映射之开启驼峰命名
  2. 你见过的最全vim编辑器常用操作总结(我是困不住的野马,却想做你怀里的猫)
  3. 汇编计算机钢琴流程图,键盘钢琴汇编语言课程设计.docx
  4. U盘格式化不了怎么办?
  5. ElasticSearch 极简入门 CRUD
  6. 编译Zookeeper源码以及使用
  7. layui中使用lay-verify进行条件校验
  8. Windows重启,自动重启Nginx,JAVA,VueSSR服务
  9. 本周大新闻|Quest Pro降价至1099美元,传苹果AIGC或用于XR内容生成
  10. 计算机电工电子,《电工电子技术练习题(计算机).doc