XHR 0x80004005(NS_ERROR_FAILURE)具有非常简单的HTTP请求

时间:2012-03-12 11:14:38

标签: javascript firefox xmlhttprequest

我有一段非常简单的代码,尝试使用JavaScript的xmlHttpRequest对象检索XML。这是正确的做法......?

如果我将此网址剪切并粘贴到Firefox中......

http://oracleofbacon.org/cgi-bin/xml?a=Kevin%20Bacon&b=Arnold%20Schwarzenegger&u=1&p=google-apps

......我收到了有效回复。

如果我使用以下代码......

function bacon() {
    xmlhttp=new XMLHttpRequest();
    try{
    xmlhttp.open("GET","http://oracleofbacon.org/cgi-bin/xml?a=Kevin%20Bacon&b=Arnold%20Schwarzenegger&u=1&p=google-apps",false);
        xmlhttp.send(null);
    }
    catch(err){
        alert(err.message);
    }
}

......我收到错误。有人可以告诉我为什么吗?

如果我将从Firefox中获得的URL返回的XML保存到本地文件,并在URL中使用该文件引用,则可以很好地加载XML。无法解决为什么这会失败。还会在Chrome中返回错误。

此致

保罗。

1 个答案:

答案 0 :(得分:3)

您似乎遇到了JavaScript相同的原始政策。

您只能从同一个域中检索您的页面所在的数据。如果要从远程服务器检索数据,则必须使用JSONP等技术。