关于是否为Ajax请求的判断
2017-08-09 09:07
351 查看
在写Ajax代码中,由于IE和火狐浏览器创建方法不同,因此一般需要在前端中写两种创建一种是IE的ActiveXObject,还有一种是火狐的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的请求头,这里就不在贴出相关代码了。
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的请求头,这里就不在贴出相关代码了。
相关文章推荐
- 关于是否为Ajax请求的判断
- x-requested-with 判断是否是Ajax异步请求
- session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java判断是否是ajax请求)
- Yii判断是否是ajax请求
- PHP 判断是否为 AJAX 请求
- 判断请求头中是否含有该属性来判断是否时ajax请求
- 判断是否是Ajax请求
- servlet判断是否异步/ajax 请求
- 服务器端判断request请求是否为ajax请求
- 判断请求头中是否含有某属性来判断是否是ajax请求
- java端拦截器判断客户的的请求是否是ajax请求
- php判断是否为ajax请求摘自thinkphp
- php判断请求是否是ajax
- 利用x-requested-with判断请求是否是Ajax请求
- 从PHP判断浏览器的请求是否是一个ajax请求谈到$_SERVER
- PHP 判断是否为 AJAX 请求
- 判断请求是否是ajax请求,response返回解析
- php判断是否为ajax请求的方法
- 判断是否为AJAX 请求原理
- 如何在Global.asax中判断是否是ajax请求