2019独角兽企业重金招聘Python工程师标准>>>

做web常常需要考虑session过期的问题,session过期就让页面跳转到登录界面去,但是存在这样一个问题,当页面过期后,用户请求后台的方式有两种:传统方式和异步请求方式,传统方式倒好解决,请求到后台,拦截到过期的操作,直接跳转,但是异步请求不会刷新整个页面,因此对session过期的处理也不能按往常的方式,需要另外的操作。

具体思路:拦截器中判断是否为ajax请求 —— 是ajax请求则返回一个消息 ——页面添加一个全局的ajax处理事件,对消息进行判断,如果是报告session过期,则location到登录页面

第一步,拦截器判断是否为ajax请求:

if(request.getHeader("x-requested-with")!=null   && request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){   //是ajax请求,则返回个消息给前台PrintWriter printWriter = response.getWriter();   printWriter.print("{sessionState:timeout}");   printWriter.flush();   printWriter.close();   }else{  //不是ajax请求,则直接跳转页面}

第二步,设置全局ajax处理事件,处理session过期的问题,类似于一个拦截器或者过滤器:

$.ajaxSetup({   contentType:"application/x-www-form-urlencoded;charset=utf-8",   cache:false ,   complete:function(data,TS){   //对返回的数据data做判断,//session过期的话,就location到一个页面}    }   });

这是一个基于jQuery的异步处理机制,完整代码我没写,上次在公司写的代码,带不出来,文章里的代码有些还是在网上找来粘进去的,凌晨都过了半小时了,太困了,记录下思路而已。

转载于:https://my.oschina.net/simpleton/blog/194143

基于jquery的全局ajax函数处理session过期后的ajax操作相关推荐

  1. session会话拦截ajax,session过期,拦截ajax请求并跳转登录页面

    1.方法一 :1.1使用filter 和ajaxsetup 对ajax进行拦截并跳转登录页面 public void doFilter(ServletRequest request, ServletR ...

  2. 利用ajax防止session过期,AJAX实现防止Session过期

    利用前端Ajax过段时间加载一次后台防止Session过期 $(function () { function post() { $.ajax({ type: "post", con ...

  3. SSM拦截ajax请求判断session过期

    项目使用ssm作为后台框架,需要在后台判断session是否过期,并跳转登录页. 1.定义一个filter,拦截所有的请求. package com.acat.filter;import javax. ...

  4. session过期情况下ajax请求不会触发重新登录的问题

    在拦截器中添加以下逻辑 String requestType = request.getHeader("X-Requested-With");if (!StringUtils.is ...

  5. session过期后登陆页面跳出iframe页面问题

    登陆页面增加javascript: function window.onload()     {         if(window.parent.length>0)          wind ...

  6. ajax得到session,Ajax如何使用Session

    在Ajax中有时会使用到Session,在aspx.cs文件这样获取: string name = Session["name"]; 但是在Ajax中就不能这样获取Session, ...

  7. Java中解决(extjs或jquery)session过期退出登录问题

    为什么80%的码农都做不了架构师?>>>    解决两种情况下的用户访问超时: a)普通http请求的session超时: b)异步http请求的session超时,如果使用extj ...

  8. ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP

    AJAX简介: ajax背景: 1.AJAX(Asynchronous JavaScript And Xml)异步的 JavaScript 和 XML:ajax是浏览器提供的一套API,最早出现在谷歌 ...

  9. ajax访问遇到Session失效问题

    最近由于一个项目,模块切换为ajax请求数据,当Session失效后,ajax请求后没有返回值,只有响应的html:<html><script type='text/javascri ...

  10. javascript 创建ajax函数 四部曲

    开门见山简要的来写一个ajax函数,方便要用到ajax的时候来调用,下面附:获取 json 数据一个小实例,请在服务器下执行...   创建一个 ajax.js 文件把ajax函数代码放进去 //创建 ...

最新文章

  1. 正面反击 Google、FB 等巨头,万维网之父携 Solid 归来
  2. python中的threading_python中threading超线程用法实例分析
  3. 常用的友元重载运算符OSTREAM
  4. mysql设置不区分大小写
  5. matlab历史指示穿作用,重新学习MATLAB——相见恨晚的重要应用技巧
  6. 不让html缓存图片吗,html – 如何强制Web浏览器不缓存图像
  7. java设计平台是什么_Java程序设计平台
  8. rails rake和示例
  9. inceptor-plsql 系统预定义函数/过程
  10. jQuery页面加载事件
  11. java sao_Java SAO操作-使用lambda代替字符串
  12. Python之堆排序算法实现
  13. 对微信公众号文章爬取进行分析
  14. 基于Paddle Lite在Android手机上实现图像分类
  15. 微信小程序:热门表情包+头像+壁纸自动采集多分类微信小程序
  16. Pytorch中torchvision.datasets.ImageFolder报错:Found 0 files in subfolders of:XXX,完美解决!
  17. 最全电商分类信息(05)
  18. react脚手架创建命令教程
  19. 使用显着性检测对可见光和红外图像进行双尺度图像融合笔记
  20. word调整页脚距离 顶端和低端的距离(叫页边距)

热门文章

  1. 电脑蓝牙在哪里打开_华为手机与华为Matebook笔记本如何通过蓝牙传输文件
  2. node mysql sequlize_初步使用Sequelize模块 - Node实战
  3. linux终端 图形库,Linux终端图形库 Curses简介和实例分析
  4. telegraf客户端配置
  5. 经典原型链、继承解析
  6. CentOS 7.X配置连接网络
  7. 《BGP设计与实现》一2.10 案例研究:BGP内存的使用评估
  8. nginx sendfile
  9. UIView 不规则剪裁
  10. jQuery.bind事件 详解