【问题标题】:How to read xml using javascript如何使用 javascript 读取 xml
【发布时间】:2011-11-13 12:33:27
【问题描述】:

是否可以在不使用任何本地服务器的情况下使用 javascript 从 html 页面本地读取 xml 文件?

现在我可以使用jquery.ajax 函数加载 xml,但它只能从服务器加载 xml 文件。我需要做的是从本地文件系统加载 xml。当我尝试这样做时,我从 chrome 中得到一个错误?

XMLHttpRequest cannot load file:///C:/Simplified.xml.

仅 HTTP 支持跨源请求。

【问题讨论】:

  • 作为一般规则,javascript 或任何其他浏览器语言技术无法访问本地文件。这将是一个巨大的安全漏洞。
  • 一个值得问的问题是——你说的那个安全漏洞是什么?您的电子邮件客户端和许多其他应用程序一直在访问本地文件。这怎么不是一个巨大的安全漏洞?
  • 提供文件,File API 是相当实验性的

标签: javascript


【解决方案1】:

可以使用一些 HTML5 API。查看FileReader API。这是working example。在 Chrome 和 Firefox 中测试。自 Safari 5.1 起无法使用。

// create a new FileReader object
var reader = new FileReader();
// setup an onload callback. This function
// will be called when the file has been 
// read/loaded in memory.
reader.onload = function(event) {
    console.log(reader.result);
};

// everything is set up. go read some files!
reader.readAsText(someFileInputField.files[0]);

【讨论】:

    【解决方案2】:

    您可以在桌面上运行服务器。在几乎任何平台上设置 http 服务器都非常简单。他们甚至出现在记忆棒上

    也就是说,

    使用this Google search我发现Google Chrome --allow-file-access-from-files disabled for Chrome Beta 8 并且可能:Circumventing Chrome Access-control-allow-origin on the local file system?

    【讨论】:

      猜你喜欢
      • 2021-03-14
      • 2014-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      相关资源
      最近更新 更多