2012-02-15 66 views
2

我想從我的網站上的本地服務器上讀取XML文件。這是我如何做它:JavaScript中的XML HTTP請求的問題

var xmlhttp = new XMLHttpRequest(); 
var langadr = "http://" + document.location.hostname + ":" + document.location.port + "/languages/language.xml"; 
xmlhttp.open("GET", langadr); 
xmlhttp.send(); 
var xmlDoc = xmlhttp.responseXML; 

但是當我運行它,我得到在xmlhttpstatusstatusText領域DOMException。該文件可通過url直接獲得。該文件是來自here的樣本。我在這裏做錯了什麼?

+0

試試這個:'xmlhttp.open(「GET」,langadr,true); xmlhttp.send(null);' – mgraph 2012-02-15 14:30:05

回答

1

我們假定你是一個同步的XMLHttpRequest,但不設置參數吧:

xmlhttp.open("GET", langadr, false); 

每默認瀏覽器使用 - 異步調用,從而導致你的密碼破譯。

但是,您應該通過提供回調重寫代碼以使用異步調用。 詳情請看Using XmlHttpRequest @ MDN

+0

這與上面評論中的建議一起無效(結果相同)。我會在週末之後嘗試異步調用,但同時我想知道這裏有什麼問題。 – hardmax 2012-02-17 09:47:15

+1

本地測試對我來說工作得很好。你有任何錯誤信息?您是否考慮過針對ajax請求的相同來源策略的限制? – Sirko 2012-02-17 09:58:01