您的位置:首页 > 其它

关于是否为Ajax请求的判断

2017-08-09 09:07 351 查看
在写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的请求头,这里就不在贴出相关代码了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: