无论如何检查传入请求是否为 AJAX JSON 类型?
我试过
if(($_SERVER['REQUEST_METHOD']=='JSON'))
{
}
但它没有用。
有什么想法吗?
无论如何检查传入请求是否为 AJAX JSON 类型?
我试过
if(($_SERVER['REQUEST_METHOD']=='JSON'))
{
}
但它没有用。
有什么想法吗?
你在哪里接受你不知道的请求?
您可以在脚本的开头有一个函数,该函数尝试将数据导入为 JSON 或 simplexml。如果它发现一个错误,你知道它是另一个......
再想一想,让它测试为 JSON,simplexml 会因为很多原因引发错误。
$json_request = (json_decode($request) != NULL) ? true : false;
您需要从客户端设置标头。jQuery 和其他库设置了一个x-requested-with
标头:
if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
echo "Ajax request";
}
您可以检查接受参数,如果是 text/javascript,您的谈话 json,如果是 text/xml,猜猜是什么:P
$_SERVER['HTTP_ACCEPT']
您可以检查X-Requested-With
标题,一些库,如jQuery将其设置为"XMLHttpRequest"
.
$isAjaxRequest = $_SERVER['X_REQUESTED_WITH'] == 'XMLHttpRequest';
您始终可以设置一个额外的标头来指定,或者使用任意变量来指示 JSON 请求。
试试 json_decode()