关于是否为Ajax请求的判断

在写Ajax代码中,由于IE和火狐浏览器创建方法不同,因此一般需要在前端中写两种创建一种是IE的ActiveXObject,还有一种是火狐的XMLHttpRequest,具体实现方法如下:

    if (window.ActiveXObject) {  
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
    }  
    else if (window.XMLHttpRequest) {  
        xmlHttp = new XMLHttpRequest();  
    }  
  



我最近在看项目底层代码中发现底层Controller类中对是否是Ajax的请求如下代码:



public boolean isAjax() {
		String header = getRequest().getHeader("X-Requested-With");
		boolean isAjax = "XMLHttpRequest".equalsIgnoreCase(header);
		return isAjax;
	}


我就想不同浏览器创建的Ajax的请求头“X-Requested-With”中的内容是否一样,于是在代码中加入syso输出项,在用IE和谷歌分别测试相关模块的代码后发现输出的内容是一样的,因此可以用此方法确定请求是否为Ajax。

当然,如果在不确定的情况下,也可以在前端代码中设置自定义的Ajax的请求头,这里就不在贴出相关代码了。



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值