Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用XMLHttpRequest进行Mozilla扩展开发_Javascript_Ajax_Firefox - Fatal编程技术网

Javascript 使用XMLHttpRequest进行Mozilla扩展开发

Javascript 使用XMLHttpRequest进行Mozilla扩展开发,javascript,ajax,firefox,Javascript,Ajax,Firefox,在我的应用程序中使用Ajax调用php文件时遇到一些问题 Mozilla扩展。 javascript(Ajax)和php都位于/myextension/content目录,我使用 function ajaxFunction(){ var req = new XMLHttpRequest(); req.open('GET', 'myphp.php', true); req.onreadystatechange = function (aEvt) { if (r

在我的应用程序中使用Ajax调用php文件时遇到一些问题 Mozilla扩展。 javascript(Ajax)和php都位于/myextension/content目录,我使用

function ajaxFunction(){
    var req = new XMLHttpRequest();
    req.open('GET', 'myphp.php', true);
    req.onreadystatechange = function (aEvt) {
      if (req.readyState == 4) {
         if(req.status == 200)
          alert(req.responseText);
         else
          alert("Error\n");
      }
    };
    req.send(null);
}


函数ajaxFunction(){
var req=新的XMLHttpRequest();
open('GET','myphp.php',true);
req.onreadystatechange=功能(aEvt){
如果(req.readyState==4){
如果(请求状态==200)
警报(请求响应文本);
其他的
警报(“错误”);
}
};
请求发送(空);
}

,我的php看起来像

<? php 
echo "Server Received with thanks!";
?>

我一直在获取“警报(“错误”);”。
我做错什么了吗?

Firefox格式良好的Ajax代码:

var URL="http://yourdomain.com/Work.php?val=Test";
var objXmlHttp = null;

try 
{
    objXmlHttp = new XMLHttpRequest();
}
catch(e)
{return;}

objXmlHttp.onreadystatechange=function()
{
    if ((objXmlHttp.readyState == 4 || objXmlHttp.readyState == "complete") && objXmlHttp.status == 200)
    {
        //Write code for success
    }
    else if (objXmlHttp.status == 404)
    {
        //OnError
    }
    else 
    {
        //OnWait
    }
}

objXmlHttp.open("GET", URL, true);
objXmlHttp.send(null);

Firefox格式良好的Ajax代码:

var URL="http://yourdomain.com/Work.php?val=Test";
var objXmlHttp = null;

try 
{
    objXmlHttp = new XMLHttpRequest();
}
catch(e)
{return;}

objXmlHttp.onreadystatechange=function()
{
    if ((objXmlHttp.readyState == 4 || objXmlHttp.readyState == "complete") && objXmlHttp.status == 200)
    {
        //Write code for success
    }
    else if (objXmlHttp.status == 404)
    {
        //OnError
    }
    else 
    {
        //OnWait
    }
}

objXmlHttp.open("GET", URL, true);
objXmlHttp.send(null);

您真的在运行PHP服务器吗?尝试发出比“错误”更有用的警报,如HTTP状态代码。这会给你一些信息。或者,也可以直接在浏览器中加载页面,看看您得到了什么。谢谢,只需再次阅读页面(),就错过了“非HTTP同步请求”示例。所以我要做的就是从本地文件系统读取一个文件,状态=0表示成功。我真正需要的是从扩展中的javascript向服务器发出请求并得到响应,就像Matt posted一样,根本没有运行PHP服务器。在扩展开发中,是否有其他方法可以与后端服务器通信?我发现,希望这能满足我的请求。您是否实际运行PHP服务器?尝试发出比“错误”更有用的警报,如HTTP状态代码。这会给你一些信息。或者,也可以直接在浏览器中加载页面,看看您得到了什么。谢谢,只需再次阅读页面(),就错过了“非HTTP同步请求”示例。所以我要做的就是从本地文件系统读取一个文件,状态=0表示成功。我真正需要的是从扩展中的javascript向服务器发出请求并得到响应,就像Matt posted一样,根本没有运行PHP服务器。在扩展开发中是否有其他方法可以与后端服务器通信?我发现,希望这能满足我的要求。