繁体   English   中英

使用JavaScript读取本地JSON文件(无Web服务器)

[英]Read local JSON file (no web-server) with JavaScript

这似乎已被多次询问,但我想确保仍然没有其他选择。

所以我需要做的是:

  1. 从.net生成.JSON文件(简单)
  2. 使用JavaScript读取本地JSON文件并生成包含有用图形等的html页面(使用Raphaeljs)。
  3. 将结果(HTML +关联的JavaScript)提供给客户端。

我不介意安装本地Apache以轻松读取JSON文件,但由于我不能要求客户端执行此操作,我正在寻找一种方法来使用JavaScript读取本地JSON文件(在文件系统上,没有Web服务器),所以我最终为客户端提供了HTML,.js和.json,他可以看到相关的图形。

我一直在读FileReader类是一个选项,但我希望能够灵活地在许多IE浏览器上支持这些(比如IE7到IE10)。

如何解决这个问题的任何帮助将非常感激。

出于安全原因,Web浏览器无法从文件系统读取文件。 如果我理解正确,您在本地计算机上运行.NET应用程序?

如果是这种情况,您可以托管WCF服务以从您的应用程序提供JSON。 MSDN页面上描述了WCF自托管。 您应该能够从浏览器向localhost上的应用程序中托管的服务器发出AJAX请求。

如果你想支持旧的IE,你需要进入ActiveX安全设置地狱。 查看var fso = new ActiveXObject("Scripting.FileSystemObject");

但是,如果要将内容和HTML文件提供给客户端,为什么不直接将JSON标记添加到html文档中? 看起来像EASY解决方案。

您无法在浏览器中从本地磁盘读取文件(安全限制)。 但是,一旦你要提供HTML + js和JSON(在zip?中),你可以从常规的Web服务器上读取json。 只需使用相对链接,如果JSON将位于HTML和JS所在的同一文件夹中。 或者您可以将您的JSON作为您交付给客户的HTML的一部分。

但是,如果您要在Web上的网站上显示页面(HTML和JS),则最好让客户端上传他们的JSON文件,而不是从服务器下载(以AJAX样式)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM