Ajax&Json - 异步请求遇到session失效

项目为Java 项目, 有个filter,作用是检查是否登录或是否登录超时,如果没有登录或登录超时,则跳转至登录界面。

问题来了,有个功能是异步请求数据,返回json并解析内容,遇到session超时,filter起作用,内容跳转至登录界面,把界面返回给ajax的回调函数里的参数中。

这样解析失败,停留在遮罩层不动了。想着给用户一个提示,告诉用户是因为超时才查不到数据的。

在CSDN论坛WEB开发的ajax版块提问,版主net_lover回复:

String header = request.getHeader("X-Requested-With");
if(null != header && header.equals("XMLHttpRequest")){
//返回json
}

查了一下,Ajax 请求多了个X-Requested-With,可以利用它,request.getHeader("X-Requested-With"); 为 null,则为传统同步请求,为 XMLHttpRequest,则为 Ajax 异步请求。

在filter中做判断,如果是Ajax异步请求,则返回json,内容中有个标记,表示用户未登录或登录超时;如果是传统请求则跳转页面。

在Js中,判断该表记是否存在并且是filter中给的值,是则停止json解析,提示用户未登录或登录超时。不存在则继续解析内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值