Javascript从本地文件解析xml

Javascript从本地文件解析xml,javascript,safari,xmlhttprequest,Javascript,Safari,Xmlhttprequest,我试图使用上述代码从本地文件系统加载xml。变量filename是一个相对路径(../Gfx/Sprite/test_Sprite.xml),在本地和从web服务器运行页面时都有效。之所以这样,是因为我可以看到xml文件加载(在safari中使用web检查器),但xmlReq.responseXML/xmlReq.responseText返回null 我做错了什么?Webkit不允许在本地文件系统上进行AJAX请求。我认为您需要使用这个xmlDoc=xmlReq.responseXML;在onr

我试图使用上述代码从本地文件系统加载xml。变量filename是一个相对路径(../Gfx/Sprite/test_Sprite.xml),在本地和从web服务器运行页面时都有效。之所以这样,是因为我可以看到xml文件加载(在safari中使用web检查器),但xmlReq.responseXML/xmlReq.responseText返回null


我做错了什么?

Webkit不允许在本地文件系统上进行AJAX请求。

我认为您需要使用这个xmlDoc=xmlReq.responseXML;在onreadystatechange内部,仅对其进行编辑,然后重新编写代码(请参见编辑)仍然没有雪茄…但是如果不使用onreadystatechange,这将无法工作,您正在执行异步请求,这意味着控件不会等到请求被处理,因此您需要绑定事件侦听器来检查此请求的状态更改。所以用旧的替换它。xmlReq.open中的'false'bool应该使请求同步。。。此外,我确实尝试了按您建议的方式更改OnReadyState,但没有效果…是否有其他方法可以加载该xml文件?应该可以使用一些flash来检索xml
    var xmlReq,
        xmlDoc;

    xmlReq = new XMLHttpRequest();
    xmlReq.open("GET", filename, false); //synchronous GET
    xmlReq.send(null);

    xmlDoc = xmlReq.responseXML;
    alert(xmlDoc);