使用php检查Ajax数据类型

使用php检查Ajax数据类型,php,jquery,ajax,Php,Jquery,Ajax,我正在使用这个php函数来检查请求是否是一个Ajax请求,它可以正常工作 function ajax_check() { if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { return TRUE; } else { return FALSE;

我正在使用这个php函数来检查请求是否是一个
Ajax
请求,它可以正常工作

function ajax_check() {
    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
        return TRUE;
    } else {
        return FALSE;
    }
}

我想知道
Ajax
请求的
dataType
。例如,如果
数据类型
是否为
json
。如何使用php实现这一点?

您可以在请求头中检查它

接受应用程序/json,text/javascript,/;q=0.01


将出现“text/html”或application/json

您不能,这些信息保存在客户端。您必须自己通过自定义标头或post/get变量发送该信息。因此,我必须在所有ajax请求中传递一个变量,并在php端检查该变量?您可以尝试
$\u服务器['HTTP\u ACCEPT']
。当尝试使用
dataType='JSON'
时,我得到了
application/JSON
dataType='html'
时,我得到了
text/html
。但不知道是否所有服务器都会向您发送这些信息。@KhawerZeshan是的。幸运的是,您可以使用预过滤器一次完成这一切。当AJAX构建URL时,您可以使用
www.sample.com/dostuff.php?datatype=json
附加URL,然后使用php检查
$\u GET
变量