我有一段非常简单的代码,尝试使用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中返回错误。
此致
保罗。
答案 0 :(得分:3)
您似乎遇到了JavaScript相同的原始政策。
您只能从同一个域中检索您的页面所在的数据。如果要从远程服务器检索数据,则必须使用JSONP等技术。