前后端如何判断请求为Ajax请求?

方法1:后端

当我们使用$_SERVER超全局变量去获取服务器信息的时候,你会发现没有“X-Requested-With”这一项请求头信息,只有当jQuery 发出 ajax 请求时,才会在请求头添加“X-Requested-With”,信息内容为XMLHttpRequest,这时就可以通过$_SERVER["HTTP_X_REQUESTED_WITH"] 去判断是否为Ajax请求了。附上代码,如下:

 

1 define('IS_AJAX',       ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'XMLHttpRequest')) ? true : false);

 

如果是Ajax请求则返回true,否则返回false

 1 var_dump(IS_AJAX); 

方法2:前端

下面介绍下前端的判断方法,以此对后端进行区分。代码如下,仅供参考。

1  var xml = new XMLHttpRequest();
2  xml.open("GET", "demo.php", true);
3  xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");
4  xml.send();

以上就是如何判断请求为Ajax请求的两种方法。

 

posted @ 2019-04-08 15:35  子规子  阅读(576)  评论(0编辑  收藏  举报