人们甚至在Stack Overflow的整个Internet上都指出,检查请求是否为AJAX的一种好方法是执行以下操作:
if (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) {...}
但是,我没有$_SERVER['HTTP_X_REQUESTED_WITH']
在官方的PHP文档中看到
当我尝试执行以下操作时:
echo $_SERVER['HTTP_X_REQUESTED_WITH'];
什么也没有输出。
难道我做错了什么?因为我真的很想能够使用$_SERVER['HTTP_X_REQUESTED_WITH']
它(如果有)。
Vary: X-Requested-With
在响应中结合使用此标头,则可能将错误的响应返回给代理用户……这反过来又加剧了IE中的缓存。很多人都会使用X-Requested-With
,但是我认为这是一个糟糕的主意。最好在查询参数中传递一个标志,以表示您想要XMLHttp样式(或JSON)响应。