似乎已多次询问过这个问题,但我想确保仍然没有其他选择。
所以我需要做的是:
我不介意安装本地Apache以轻松读取JSON文件,但由于我不能要求客户端执行此操作,我正在寻找一种方法来读取本地JSON文件(在文件系统上,没有Web服务器)使用JavaScript,以便最终为客户端提供HTML,.js和.json,他可以看到相关的图形。
我一直在读FileReader
类是一个选项,但我希望能够灵活地在许多IE浏览器上支持这些(比如IE7到IE10)。
如何解决这个问题的任何帮助将非常感激。
答案 0 :(得分:1)
出于安全原因,Web浏览器无法从文件系统读取文件。如果我理解正确,您在本地计算机上运行.NET应用程序?
如果是这种情况,您可以托管WCF服务以从您的应用程序提供JSON。此MSDN page描述了WCF自托管。您应该能够从浏览器向localhost上的应用程序中托管的服务器发出AJAX请求。
答案 1 :(得分:0)
如果你想支持旧的IE,你需要进入ActiveX安全设置地狱。查看var fso = new ActiveXObject("Scripting.FileSystemObject");
但是如果要将内容和HTML文件提供给客户端,为什么不直接将JSON标记添加到html文档中?看起来像EASY解决方案。
答案 2 :(得分:0)
您无法在浏览器中从本地磁盘读取文件(安全限制)。但是,一旦你要提供HTML + js和JSON(在zip?中),你可以从常规的Web服务器上读取json。只需使用相对链接,如果JSON将位于HTML和JS所在的同一文件夹中。或者您可以将您的JSON作为您交付给客户的HTML的一部分。
但是如果要在网站上显示网页(HTML和JS),最好让客户上传他们的JSON文件,然后从服务器下载(采用AJAX风格)。
答案 3 :(得分:-2)