XMlHttpRequest 在 Firefox 扩展中不起作用

XMlHttpRequest is not working in Firefox extension

本文关键字:不起作用 扩展 Firefox XMlHttpRequest      更新时间:2023-09-26

以下代码在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;
?>

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

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

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

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

您是否

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

喜欢这个

xmlhttp.setRequestHeader("Content-Type",    "application/x-www-form-urlencoded");