区分浏览器GUI请求和AJAX请求

Mar*_*ark 2 php

我的PHP脚本中区分普通浏览器GUI请求和AJAX请求的最佳方法是什么?

Que*_*tin 5

不是这样的.

您可以编写JavaScript,以便在您可以使用的请求标头中留下某种标识符.请参阅XHR setRequestHeader方法.

HTTP的一个很好的用途是修改Accept标头然后进行正常的内容协商.然后(例如),您只关心是否优先于JSON响应,而不是关心它是否是Ajax.

另一个约定是使用X-Requested-With值为的非标准头XMLHttpRequest.默认情况下,许多JavaScript库会将此添加到使用XHR的任何请求中.

这些技术中的任何一种都只适用于XMLHttpRequest或基于插件的Ajax.您无法为JSON-P或基于iframe的Ajax设置任意HTTP标头.