PHP 判断是否是 ajax 请求
首先必须要在客户端部分做一些手脚,不然服务器上不可能知道是什么请求。
ajax在send()调用之前调用一次setRequestHeader(key,value);。
xmlhttp.open("GET","test.php?mod="+encodeURIComponent('这里是测试信息'),true);
xmlhttp.setRequestHeader("my_ajax",1);
xmlhttp.send();
setRequestHeader的作用是向头部加入自定义信息,比如这里加了 键名为 my_ajax 值为 1的一条信息。
在服务器端,该新加入的信息会存在于$_SERVER数组中,并且键名会被自动改为大写,并且在之前加上HTTP_,
这里是my_ajax在$_SERVER中体现为HTTP_MY_AJAX,值不变依然是1 。所以在php中判断一下$_SERVER['HTTP_MY_AJAX']的值就可以判断出是否为ajax请求了。
浙公网安备 33010602011771号