JavaScript将GET请求发送到我的服务器失败

时间:2017-04-08 19:12:01

标签: javascript firefox-webextensions

我有这段代码:

function httpGetAsync(theUrl, callback)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() { 
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
            callback(xmlHttp.responseText);
    }
    xmlHttp.open("GET", theUrl, true); // true for asynchronous 
    xmlHttp.send(null);
}

 httpGetAsync("http://myserver.com/test.php/?u=test&p=testtest");

当我尝试在Firefox的控制台上运行它时,我得到:

  

NetworkError: A network error occurred.

为什么会这样?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果您正在开发浏览器扩展程序,则发送GET请求

转到manifest.json文件并添加www.example.com的权限:

{
    "name": "My extension",
    ...
    "permissions": [
        "http://www.example.com/*"
    ],
    ...
}

然后在你的背景页面(或其他地方)你可以这样做:

var xhr = new XMLHttpRequest();
xhr.open("GET", "http://www.example.com/test.php?foo=bar", false);
xhr.send();

var result = xhr.responseText;

<强>参考

How do I send an HTTP GET request in chrome extension?