PHP检查是否传入的请求是JSON类型(PHP check whether Incoming Req

2019-07-04 18:12发布

反正是有检查传入的请求是否为AJAX JSON类型的?

我试过了

if(($_SERVER['REQUEST_METHOD']=='JSON'))
{
}

但它没有工作。

有什么想法吗?

Answer 1:

你是哪里,究竟接受请求,你会不知道吗?

你可以有在试图导入的数据作为JSON或simplexml的脚本的开头的函数。 如果捕捉到一个错误,你知道这是另外一个...

退一步讲,有它测试它是JSON,simplexml的将抛出一个错误吨的原因。

 $json_request = (json_decode($request) != NULL) ? true : false;


Answer 2:

您将需要从客户端设置一个头。 jQuery和其他库设定x-requested-with标头:

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
   echo "Ajax request";
}


Answer 3:

你可以在接受PARAM检查,如果它的文本/ JavaScript的你说话的JSON,如果它的文本/ xml的猜测:P

$ _ SERVER [ 'HTTP_ACCEPT']



Answer 4:

您可以检查X-Requested-With头,一些库,例如jQuery的将其设置为"XMLHttpRequest"

$isAjaxRequest = $_SERVER['X_REQUESTED_WITH'] == 'XMLHttpRequest';


Answer 5:

尝试json_decode()



Answer 6:

你总是可以设置一个额外的头指定,或使用任意的变量来表示JSON请求。



文章来源: PHP check whether Incoming Request is JSON type