判断是否Ajax请求



http://zwllxs.iteye.com/blog/1070429


在一次做非常复杂的ajax应用时,如果一个会话已经超时,但是此时再通过ajax请求,那么ajax返回的则是一个登陆页面的html,那这下就惨了,页面上而已就乱了,那么,能否在java端,如拦截器里判断客户的的请求是否是ajax请求呢,经过查询,能. 
   普通请求与ajax请求的报文头不一样,通过如下 

Java代码   收藏代码
  1. String requestType = request.getHeader("X-Requested-With");  

如果requestType能拿到值,并且值为XMLHttpRequest,表示客户端的请求为异步请求,那自然是ajax请求了,反之如果为null,则是普通的请求 



https://www.oschina.net/code/snippet_19410_36902

/**
  * 判断ajax请求
  * @param request
  * @return
  */
boolean isAjax(HttpServletRequest request){
     return  (request.getHeader( "X-Requested-With" ) != null  && "XMLHttpRequest" .equals( request.getHeader( "X-Requested-With" ).toString())   ) ;
}

http://www.cnblogs.com/zhuzhiq/p/5585030.html

判断是否Ajax请求

public static final String AJAX_ACCEPT_CONTENT_TYPE = "text/html;type=ajax";
public static final String AJAX_SOURCE_PARAM = "ajaxSource";
protected boolean isAjaxRequestInternal(HttpServletRequest request, HttpServletResponse response) {
String acceptHeader = request.getHeader("Accept");
String ajaxParam = request.getParameter(AJAX_SOURCE_PARAM);
if (AJAX_ACCEPT_CONTENT_TYPE.equals(acceptHeader) || StringUtils.hasText(ajaxParam)) {
return true;
} else {
return false;
}
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值