0

以下代码在 Google Chrome 中运行良好,但在 Firefox 中运行不正常。我无法提出请求,也无法收到回复。我不知道是什么问题?

这是我的 Javascript 代码。

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
 }

  else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  // alert(str);
  xmlhttp.open("GET","server url/folder/file.php?q="+"string",true,"user","password");
  alert();
      xmlhttp.onreadystatechange=function()
   {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
   {
 alert("response");
  alert(xmlhttp.responseText);
   var string=xmlhttp.responseText; 
    }
   }
   xmlhttp.send();

这是我会响应的服务器脚本。

<?php
header('Access-Control-Allow-Origin: *');
$q=$_GET["q"];
echo $q;

?>
4

2 回答 2

1

X-Requested-With如果你添加这样的标题怎么样:

xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");

我也会使用xmlhttp.send(null);,因为一些旧的 Firefox 浏览器需要这个null参数。xmlhttp.open最后一件事:在我第一次声明onreadystatechange监听器之前我不会打电话。

祝你好运,我希望这会有所帮助。

于 2013-11-05T20:27:27.670 回答
0

您是否尝试在调用发送之前设置内容类型?

像这样

xmlhttp.setRequestHeader("Content-Type",    "application/x-www-form-urlencoded");
于 2013-11-05T20:29:11.070 回答