日期:2014-05-16 浏览次数:20785 次
?在做ajax应用时,如果一个会话已经超时,但是此时再通过ajax请求,那么ajax返回的则是一个登陆页面HTML代码,这肯定不是我们想要的。那么,能否在java端,如拦截器里判断客户的的请求是否是ajax请求呢??
普通请求与ajax请求的报文头不一样,通过如下?
String type = request.getHeader("X-Requested-With");
如果requestType能拿到值,并且值为XMLHttpRequest,表示客户端的请求为异步请求,那自然是ajax请求了,反之如果为null,则是普通的请求 (报文头可以自己设置的,严格的说,木有办法,但我们的应用中可以不进行包头手动设置)