7

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

所以我需要做的是:

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

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

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

任何有关如何解决此问题的帮助将不胜感激。

4

3 回答 3

1

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

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

于 2012-12-10T15:39:46.340 回答
0

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

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

于 2012-12-10T15:18:29.103 回答
0

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

但是,如果您将内容和 HTML 文件交付给客户端,为什么不直接将 JSON 标记添加到 html 文档中呢?似乎是简单的解决方案。

于 2012-12-10T15:14:55.870 回答