我用Google搜索了这个问题但我找不到答案。
我有一个由PHP生成的页面,它生成一个JSON字符串,我使用javascript / jQuery / AJAX来检索它。
如果用户直接通过PHP打开此后端页面但是如果通过AJAX检索它仍然可以正常工作,我希望显示一条消息。
这在PHP中是否可行,我将要做什么呢?
答案 0 :(得分:5)
当然,只需检查标题即可查看请求:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'))
{
/* Do something with the AJAX request */
}
else
{
/* Do something else */
}
只需检查以确保您的服务器支持HTTP_X_REQUESTED_WITH
。并非所有人都这样做,虽然我知道Apache 2确实如此。
答案 1 :(得分:1)
使用nonce跟踪请求的来源。
浏览器本身不需要(而且不需要,AFAIK)以与其他请求不同的方式识别AJAX请求。