$ _SERVER ['HTTP_X_REQUESTED_WITH']似乎在PHP 5.1.6上不可用

时间:2010-04-10 15:07:45

标签: php

我在运行php 5.1.6的服务器上遇到问题 - 我用来检测ajax请求的代码无效,因为$ _SERVER数组中缺少$ _SERVER ['HTTP_X_REQUESTED_WITH']变量。相同的代码在php 5.2上工作正常,在firebug中我可以看到标题包括X-Requested-With XMLHttpRequest。任何人都知道这个问题以及如何绕过它?提前谢谢。

3 个答案:

答案 0 :(得分:2)

由于php是作为apache模块安装的,因此您可以使用apache_request_headers()进行调试 添加

时,标题是否显示在debuglog.txt
function dbgLogRequest() {
  $s = date('Y-m-d H:i:s') . "\n request headers";
  foreach( apache_request_headers() as $name=>$value ) {
    $s .= "\n  $name: $value";
  }
  $s .= "\n____\n\n";

  file_put_contents('debuglog.txt', $s, FILE_APPEND);
}

dbgLogRequest();

到你的代码?

答案 1 :(得分:2)

我唯一可以挖掘的东西是:

  • IE浏览器可能没有发送标题
  • 如果您有重定向,则标题不会转发
  • 用于文件上传的内联框架不使用ajax,因此请勿发送此标头

多数民众赞成......没有其他的东西......

答案 2 :(得分:0)

您在文件或.htaccess中都有某种重定向,可以清除此标题。