区分 AJAX 调用/浏览器请求
Differentiating Between an AJAX Call / Browser Request
HTTP 请求的
标头中是否有任何内容可以让我区分 AJAX 调用和来自给定客户端的直接浏览器请求?无论如何,用户代理字符串通常是否相同?
如果你使用Prototype,jQuery,Mootools或YUI,你应该找到一个X-Request-With:XMLHttpRequest头,它将为你做这个技巧。应该可以在其他库中插入您喜欢的任何标题。
在最低级别,给定一个 XMLHttpRequest 或 XMLHTTP 对象,您可以使用 setRequestHeader 方法设置此标头,如下所示:
xmlHttpRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
经过一些研究,看起来最好的方法是在进行 AJAX 调用时简单地指定自定义用户代理字符串,然后在服务器上检查此自定义用户代理字符串。
相关文章:
- 防止“;jQuery(html)"防止触发浏览器请求图像和其他参考内容
- Chrome浏览器“;挂起”;同时在循环中执行AJAX请求
- 为什么我从浏览器修改html/js时会多次发送ajax请求
- 如果不刷新Rails中的浏览器,AJAX请求就无法看到效果
- 使用Javascript的Ajax请求在iPhone浏览器中不起作用
- 当我们打开ADF应用程序的同一网页的不同版本时,如何让浏览器请求java脚本
- 当浏览器请求部分内容范围请求时,如何检测pdf何时加载到iframe中
- 是否有任何事件在浏览器请求另一个资源(如图像)之前触发
- 强制浏览器请求动态加载的图标
- 桌面小部件使用的 $.getJSON 不会从浏览器请求 URL
- http 使浏览器请求对应的 https URL 对于 http URL,而无需编辑所有页面并手动将所有 URL 更改为
- 浏览器请求文件,服务器下载 pdf,浏览器在 iframe 中显示 pdf
- 获取客户端中的浏览器请求
- 为什么在浏览器请求javascript文件时请求Accept:*/*
- 为什么可以't我得到ajax请求的响应,而我可以用普通的浏览器请求得到它
- Firefox不会在@font-face声明的跨浏览器请求中发送cookie
- 允许PHP文件被javascript请求,而不是直接从浏览器请求
- 为什么我的Ajax请求比普通的浏览器请求慢得多
- 停止浏览器请求
- 区分 AJAX 调用/浏览器请求