在整个互联网上,甚至包括在Stack Overflow中,人们声称检查请求是否是AJAX的好方法是执行以下操作:
if (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) {...}
Run Code Online (Sandbox Code Playgroud)
但是,我没有$_SERVER['HTTP_X_REQUESTED_WITH']在官方PHP文档中看到
当我尝试执行以下操作时:
echo $_SERVER['HTTP_X_REQUESTED_WITH'];
Run Code Online (Sandbox Code Playgroud)
什么都没输出.
难道我做错了什么?因为我真的希望能够使用$_SERVER['HTTP_X_REQUESTED_WITH']它是否可用.
HTTP请求的标头中是否有任何内容可以区分AJAX调用和来自给定客户端的直接浏览器请求?用户代理字符串通常是否相同?
我想在 HttpRequestBase 类型上实现扩展方法IsJsonRequest() : bool 。从广义上讲,这个方法应该是什么样子?是否有任何参考实现?
这是一个私有 API。
编辑:
建议; 检查 x-requested-with 标头是否为“xmlhttprequest”?
我在我的网页上有一个javascript,它调用一个php文件并将一些值传递给php文件.我怎么能确定对php文件的调用是来自我网页上的js而不是直接从浏览器地址栏输入php url?