PHP检查Incoming Request是否为JSON类型

Gra*_*ton 8 php httprequest

无论如何要检查传入的请求是否是AJAX JSON类型?

我试过了

if(($_SERVER['REQUEST_METHOD']=='JSON'))
{
}
Run Code Online (Sandbox Code Playgroud)

但它没有用.

有什么想法吗?

Ant*_*ony 12

你在哪里接受来自你不知道的请求?

您可以在脚本开头设置一个函数,尝试将数据导入为JSON或simplexml.如果它发现错误,你知道它是另一个......

在第二个想法,让它测试它是JSON,simplexml将抛出一个错误有很多原因.

 $json_request = (json_decode($request) != NULL) ? true : false;
Run Code Online (Sandbox Code Playgroud)


kar*_*m79 8

您需要从客户端设置标头.jQuery和其他库设置了一个x-requested-with标题:

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
   echo "Ajax request";
}
Run Code Online (Sandbox Code Playgroud)