2012-02-15 118 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