关于是否为Ajax请求的判断

来源:互联网 发布:范雎怎么读sui 知乎 编辑:程序博客网 时间:2024/06/14 01:21

在写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的请求头,这里就不在贴出相关代码了。



原创粉丝点击