在后端可以利用php代码来判断前台提交的数据是否通过ajax进行提交的,其方法也非常的简单,只需要判断$_SERVER["HTTP_X_REQUESTED_WITH"] 是否存在,以及判断 $_SERVER["HTTP_X_REQUESTED_WITH"] 变量的值是否为 xmlhttprequest 即可!

php 判断是否为ajax提交的方法

示例1:

//feiniaomy.com
if (isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) == 'xmlhttprequest'){
echo '是ajax的请求!';
}else{
    echo '不是ajax的请求';
}

示例2:

//feiniaomy.com
function isAjax()
{
return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}

示例2中的写法与示例1中的写法一致,只是示例2中封装成的函数,使用时只需要调用函数即可!

例:

if(isAjax()){
echo '是ajax请求';
}else{
echo '不是ajax请求';
}

小注意:

在使用ajax跨域请求时,在php后端是无法通过 $_SERVER['HTTP_X_REQUESTED_WITH'] 来判断是否为ajax请求的,即使在请求时自定义了http请求头,也是无用功的,这一点一定要注意!