ax是一种对ajax的封装,本身发出的请求,就应该是ajax请求。在使用php做一个项目的时候,进行判断是否是ajax求解的时候,一直失败。解决的办法是对ajax做一下配置。
解决的方法
ax.defaults.headers.post['X-Requested-With'] = 'XMLHttpRequest';
ax.defaults.headers.get['X-Requested-With'] = 'XMLHttpRequest';
原理是什么
ajax在发出请求的时候会增加一个http header 用于标识。比如jquery发送ajax请求的时候,就添加了请求 header X-Requested-With
Accept: application/json, text/plain, */*
Content-Type: application/json;charset=UTF-8
Origin: https://www.liuhaolin.com
Referer: https://www.liuhaolin.com/test
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
X-Requested-With: XMLHttpRequest
php判断是不是ajax请求的代码
function is_ajax()
{
if (isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) == "xmlhttprequest") {
return true;
} else {
return false;
};
}