在服务器端判断request是否来自Ajax的异步请求

本文介绍了一种解决Ajax请求在会话超时后导致页面异常显示的方法。通过设置XMLHttpRequest请求头来区分普通请求与Ajax请求,并针对这两种请求进行不同的重定向处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.也许有人认为在服务器端判断ajax请求没什么作用。

   今天写东西遇到一种情况。

    系统里里用了过滤器来过滤session失效,和越权访问,如果session中不存在用户已经登录的信息,就将页面重定向到TimeOut.jsp页面。这样做对普通的请求没什么问题,但是对于页面中的Ajax请求就出现问题了,Ajax异步请求时,session失效时,就会将TimeOut.jsp页面加载进来了,导致了页面撑开等等情况。比较讨厌

 

2、问题解决:

1)首先利用XMLHttpRequest对象的setRequestHeader();方法设定一个头标志。如下:

 

2)在服务端,java代码如下:

 

 

说明:

如果使用了jquery,可以使用如下函数,对所有的ajax请求做预处理,包括$.ajax(),$.getJson(),$.load()等等

 

 

 

第一次写博,希望对用到的朋友有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值