解决ajax请求中Session失效问题

2023-11-01

  之前项目都是jsp页面,没有遇到ajax请求中Session失效的问题。但最近的新项目中,所用框架为Jquery+bootstrap+html,页面所有请求都为ajax,一番尝试后,解决方法如下:

1、LoginFilter中加入ajax请求判断,如果是ajax请求并且session失效,则在response的setHeader写入标记。切记,写入后马上return,不要继续执行LoginFilter中的后续代码的重定向操作。

if( request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with").equals("XMLHttpRequest")  ) {
   response.setHeader("sessionstatus", "timeout");
   return ;

} 
2、在公共js中写入$.ajaxSetup ,如果接受到" sessionstatus"的值为timeout,则调用退出方法,更新用户登陆状态,退出到登陆界面。
$.ajaxSetup({
         type: 'POST',
          complete: function(xhr,status) {
              var sessionStatus = xhr.getResponseHeader('sessionstatus');
              if(sessionStatus == 'timeout') {
                      var yes = confirm('由于您长时间没有操作, session已过期, 请重新登录.');
                      if (yes) {
                              logOut();
                          }
                  }
          }
  });


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决ajax请求中Session失效问题 的相关文章

随机推荐

  • JS求数组中最大值

    法一 function getArrMax arr var max arr 0 for var i 1 i lt arr length i if arr i gt max max arr i return max getArrMax 1 2
  • angular总结-my

    angular知识点 1 Component 装饰器 这表明它下面的类是一个组件 它提供了有关该组件的元数据 包括它的模板 样式和选择器 在 Component 的元数据中指定的样式只会对该组件的模板生效 2 Angular 只会绑定到组件
  • sideload刷机

    官方Recovery自带了sideload刷机选项 方便了手机出故障的机友自行恢复 转载请标明出处IUNI官方论坛 bbs iunios com http bbs iunios com thread 28244 1 1 html 一 刷前准
  • [Python图像处理] 二十四.图像特效处理之毛玻璃、浮雕和油漆特效

    该系列文章是讲解Python OpenCV图像处理知识 前期主要讲解图像入门 OpenCV基础用法 中期讲解图像处理的各种算法 包括图像锐化算子 图像增强技术 图像分割等 后期结合深度学习研究图像识别 图像分类应用 希望文章对您有所帮助 如
  • Python Web系列学习3-Tornado

    1 Tornado常被用作大型站点的接口服务框架 协程是Tornado推荐的编程方式 Tornado集成了丰富的用户身份验证功能 2 同步I O可以理解为被调用的I O函数会阻塞调用函数的执行 而异步I O则不会 tornado httpc
  • 【python爬虫】js逆向分析及AES解密

    一 原理简述 1 首先查看需要获取的数据即热门评论是否在源代码中 如果在源代码中就可以直接xpath等方式进行抓取 2 但是发现在网页和框架源代码里面都无法搜到评论内容 此时 使用网络抓包工具即 查看network中的XHD 在js代码中
  • vue2 vue3父子组件传参

    vue3 父子组件传参 父组件
  • Chatgpt私有化部署(全流程)

    前言 当下使用chatgpt来帮助完成工作已然成为主流 但想访问必须先面对地区的封锁 所以使用openai官方提供的API来部署至本地服务器从而更加便利的使用chatgpt 本文章主要介绍如何部署私有聊天机器人 条件准备 公网服务器一台 可
  • Unity 屏幕坐标鼠位置 Input.mousePosition 转为UI物体的坐标

    方式一 使用 RectTransformUtility ScreenPointToLocalPointInRectangle
  • [1158]微信小程序字段配置

    文章目录 微信小程序之permission字段 微信开发者工具 project config json配置详情 项目配置文件 一级字段 compileType setting useCompilerPlugins babelSetting
  • django连接mysql数据库报错_Django 连接 MySQL 数据库及常见报错解决

    Django 连接 MySQL数据库及常见报错解决 MySQL 的安装以及设置远程访问权限 不属于本笔记的重点 此处不做多余赘述 前提 MySQL 安装成功 且已配置远程访问权限 如在本地测试的忽略此项 终端或者数据库管理工具连接 MySQ
  • pyinstaller打包 .py 文件为可执行的 .exe程序

    有疑问的地方 参考博文 一 环境搭建 Python GUI图形化小工具编程学习 PySide2 环境搭建 一 二 实例演示 Python GUI图形化小工具编程学习 Demo 实例演示 二 三 打包失败 pyinstall 打包 exe 文
  • 利用huggingface-transformers进行命名实体识别

    利用huggingface transformers进行命名实体识别 项目地址 https github com huggingface transformers 文档地址 https huggingface co docs transfo
  • linux /home recovering journal,启动Ubuntu时出现 /dev/sda2 clean 和 /dev/sda2 recovering journal 现象的解决办法...

    最近在Ubuntu 18 4上安装Nvidia显卡后 显卡似乎总是不能完全兼容 第一次出现问题时 是登录账号后 发现系统采用了默认显卡驱动 而已装过的显卡驱动则有损坏导致无法使用 第二次出现问题时 则是在开机启动后 界面出现了 dev sd
  • 总结一下m3u8格式相关问题

    1 m3u8格式解读 本小节摘自 m3u8视频文件详解 m3u8不是一种视频格式 而是一种纯文本文件 m3u8视频文件格式中 存放了视频的基本信息 和 分段视频的索引地址 将一整个视频分成了时长不同的很多小段 当播放m3u8视频时 就是按顺
  • 微信小程序发布新版本后使用时自动提示用户更新或自动更新的方法

    如图 当小程序发布新的版本后 用户如果之前访问过该小程序 通过已打开的小程序进入 未手动删除 则会弹出这个提示 提醒用户更新新的版本 用户点击确定就可以自动重启更新 点击取消则关闭弹窗 不再更新 const updateManager wx
  • 关于C++编程vs2017 error: c2228的一种可能,或称基类位于派生类之后会出现的问题

    上次C 实验编程遇到了一次error c2228的问题 百度过了也没有答案 最终调换了基类和派生类的顺序才得到解决 下面是产生异常的一段代码 以上省略基类Plane和其纯虚函数area和girth class Triangle public
  • 论文总结:基于深度学习的图像风格迁移研究

    基于深度学习的图像风格迁移研究 前言 图像风格迁移方法 基于图像迭代的图像风格迁移方法 基于模型迭代的图像风格迁移方法 卷积神经网络 生成对抗网络 CycleGAN 前言 什么是深度学习 深度学习是机器学习的一种 机器学习是研究人工智能的必
  • 【C++基础】7. 控制语句

    文章目录 1 循环 1 1 循环类型 1 2 循环控制语句 break 语句 continue 语句 goto 语句 1 3 无限循环 2 选择 switch 语句 语句 1 循环 1 1 循环类型 循环类型 描述 while 循环 当给定
  • 解决ajax请求中Session失效问题

    之前项目都是jsp页面 没有遇到ajax请求中Session失效的问题 但最近的新项目中 所用框架为Jquery bootstrap html 页面所有请求都为ajax 一番尝试后 解决方法如下 1 LoginFilter中加入ajax请求