我是正常蛇

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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请求了。

posted on 2012-08-04 16:03  我是正常蛇  阅读(269)  评论(0)    收藏  举报