PHP 判断 ajax 请求:HTTP_X_REQUESTED_WITH

有时我们需要判断是不是 ajax 请求来决定模块输出还是 json 格式输出.

PHP 判断 ajax 请求的原理:

在发送 ajax 请求的时候,我们可以通过 XMLHttpRequest 这个对象,创建自定义的 header 头信息, 在 jquery 框架中,对于通过它的 $.ajax, $.get, or $.post 方法请求网页内容时,它会向服务器传递一个 HTTP_X_REQUESTED_WITH 的参数,php 中就是在 header 一层判断是否是 ajax 请求,对应的根据 $_SERVER [‘HTTP_X_REQUESTED_WITH’] 判断。

/**
  * 当前请求是否ajax请求
  *
  * @access public
  * @return bool
  */
 function isAjax()
 {
     return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'XMLHttpRequest';
 }

注意: