是否有任何方法可以检查传入的请求是否为 AJAX JSON类型?我尽力了
if(($_SERVER['REQUEST_METHOD']=='JSON')) { }
但是没有用。有什么想法吗
zour9fqk1#
你到底在哪里接受你不知道的请求?您可以在脚本的开头有一个函数,尝试将数据导入为JSON或simplexml。如果它捕捉到一个错误,你知道它是另一个...再想想,让它测试它是JSON,simplexml会抛出一个错误,原因很多。
$json_request = (json_decode($request) != NULL) ? true : false;
snz8szmq2#
您需要从客户端设置头。jQuery和其他库设置了一个x-requested-with头文件:
x-requested-with
if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { echo "Ajax request"; }
pbpqsu0x3#
你可以检查一下accept参数,如果是text/javascript,你会说json,如果是text/xml,你猜怎么着:P$_SERVER['HTTP_ACCEPT']
xmakbtuz4#
你可以检查X-Requested-With头文件,一些库,比如jQuery将它设置为"XMLHttpRequest"。
X-Requested-With
"XMLHttpRequest"
$isAjaxRequest = $_SERVER['X_REQUESTED_WITH'] == 'XMLHttpRequest';
2ul0zpep5#
你可以设置一个额外的头来指定,或者使用一个任意的变量来指示JSON请求。
cyvaqqii6#
试试json_decode()
6条答案
按热度按时间zour9fqk1#
你到底在哪里接受你不知道的请求?
您可以在脚本的开头有一个函数,尝试将数据导入为JSON或simplexml。如果它捕捉到一个错误,你知道它是另一个...
再想想,让它测试它是JSON,simplexml会抛出一个错误,原因很多。
snz8szmq2#
您需要从客户端设置头。jQuery和其他库设置了一个
x-requested-with
头文件:pbpqsu0x3#
你可以检查一下accept参数,如果是text/javascript,你会说json,如果是text/xml,你猜怎么着:P
$_SERVER['HTTP_ACCEPT']
xmakbtuz4#
你可以检查
X-Requested-With
头文件,一些库,比如jQuery将它设置为"XMLHttpRequest"
。2ul0zpep5#
你可以设置一个额外的头来指定,或者使用一个任意的变量来指示JSON请求。
cyvaqqii6#
试试json_decode()