1.也许有人认为在服务器端判断ajax请求没什么作用。
今天写东西遇到一种情况。
系统里里用了过滤器来过滤session失效,和越权访问,如果session中不存在用户已经登录的信息,就将页面重定向到TimeOut.jsp页面。这样做对普通的请求没什么问题,但是对于页面中的Ajax请求就出现问题了,Ajax异步请求时,session失效时,就会将TimeOut.jsp页面加载进来了,导致了页面撑开等等情况。比较讨厌
2、问题解决:
1)首先利用XMLHttpRequest对象的setRequestHeader();方法设定一个头标志。如下:
2)在服务端,java代码如下:
说明:
如果使用了jquery,可以使用如下函数,对所有的ajax请求做预处理,包括$.ajax(),$.getJson(),$.load()等等
第一次写博,希望对用到的朋友有所帮助