2012-03-12 47 views
0

我有一段非常簡單的代碼,嘗試使用JavaScript的xmlHttpRequest對象檢索XML。這就是它正確的....?帶有非常簡單的HTTP請求的XHR 0x80004005(NS_ERROR_FAILURE)

如果我剪切和粘貼此網址到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中也返回錯誤。

問候,

保羅。

回答

3

看來你正在運行JavaScript的同源策略。

您只能從同一個域中檢索您的頁面上的數據。如果你想從遠程服務器檢索數據,你必須使用像JSONP這樣的技術。

+0

非常感謝,感謝您的回覆。將嘗試另一種方法。 – pdr0663 2012-03-13 00:34:47