【问题标题】:Javascript parse xml from local fileJavascript从本地文件解析xml
【发布时间】:2011-07-04 11:32:06
【问题描述】:
    var xmlReq,
        xmlDoc;

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

    xmlDoc = xmlReq.responseXML;
    alert(xmlDoc);

我正在尝试使用上述代码从本地文件系统加载 xml。变量文件名是一个相对路径 (../Gfx/Sprite/test_sprite.xml) 并且在本地和从 Web 服务器运行页面时都有效。是什么让这个奇怪的是,我可以看到 xml 文件加载(在 safari 中使用 web 检查器),但是 xmlReq.responseXML/xmlReq.responseText 返回 null...

我在这里做错了什么?

【问题讨论】:

  • 我认为你需要使用这个 xmlDoc = xmlReq.responseXML;仅在 onreadystatechange 内部
  • 试过了,然后重写了代码(见编辑)仍然没有雪茄......
  • 但是如果不使用 onreadystatechange 这将不起作用,您正在执行异步请求,这意味着控制不会等到请求被处理,因此您需要绑定事件侦听器来检查此请求的状态更改。所以用旧的替换它。
  • xmlReq.open 中的 'false' bool 应该使请求同步...此外,我确实按照您的建议尝试了 onreadystatechange,但它没有用...

标签: javascript safari xmlhttprequest


【解决方案1】:

Webkit 不允许本地文件系统上的 AJAX 请求。

【讨论】:

  • 有没有其他方法可以加载该 xml 文件?
  • 应该可以使用一些flash来检索xml
猜你喜欢
  • 2011-12-24
  • 1970-01-01
  • 2012-01-06
  • 2012-11-22
  • 2017-03-31
  • 2010-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多