Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript访问本地JSON文件?_Javascript_Jquery_Html_Json_Google Chrome - Fatal编程技术网

如何使用Javascript访问本地JSON文件?

如何使用Javascript访问本地JSON文件?,javascript,jquery,html,json,google-chrome,Javascript,Jquery,Html,Json,Google Chrome,我有一个Python程序,可以生成一个html页面来报告结果。html页面保存在磁盘上的输出目录中,旁边是一个javascript文件,该文件有助于动态表处理。我还将一个JSON文件保存到这个输出目录中,我想用javascript文件读入该目录。这个JSON文件包含我希望能够访问的Python运行(保存的字典)中的数据。因此,在磁盘上的输出目录中,我有: C:/somedirectory/output/report.html C:/somedirectory/output/tables.js

我有一个Python程序,可以生成一个html页面来报告结果。html页面保存在磁盘上的输出目录中,旁边是一个javascript文件,该文件有助于动态表处理。我还将一个JSON文件保存到这个输出目录中,我想用javascript文件读入该目录。这个JSON文件包含我希望能够访问的Python运行(保存的字典)中的数据。因此,在磁盘上的输出目录中,我有:

  • C:/somedirectory/output/report.html
  • C:/somedirectory/output/tables.js
  • C:/somedirectory/output/data.json
所有文件都是从我的程序中创建的

我的html页面有一个带有复选框的表,如果选中了这些复选框,我想根据JSON文件中保存的数据更新第二个表。因此,我希望在任何浏览器中打开我的html报告,并将JSON文件作为javascript对象读取

我一直在尝试使用ajax和.getJSON,但我得到了

请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”

我已经搜索并看到了许多类似的问题,但没有发现任何完全符合我需要的东西。如果您有想法和解决方法,我们将不胜感激。谢谢

更新


因为一切都是在客户端本地运行的,所以我决定将JSON数据(python字典)和javascript代码直接嵌入到html报告输出中。通过这种方式,数据可以在内部访问,html文件可以在没有依赖性问题的情况下传递。我在下面选择了答案的用户有一个指向此解决方案的链接。

JavaScript在客户端计算机上运行,因此它只能使用特殊设置访问客户端计算机上的文件

如果希望它在服务器上读取JSON,应使用以下路径:

http://example.com/output/data.json

更好的方法是从Python读取/写入JSON文件,然后将表数据发送到JavaScript,如下面的回答所示:

您是从实际的服务器上运行此HTML,还是仅在本地计算机上运行此HTML?听起来您是在本地访问JSON,这将导致源代码出现问题。要绕过此问题,请使用。您需要在ajax调用中指定这一点,声明数据类型:“jsonp”@mjkaufer没有任何东西是从实际服务器运行的,这些文件是计算机的本地文件。用户安装一个桌面python程序,运行该程序,并可以调出一个格式良好的html报告。@cs_stackX谢谢,我已经对JSONP进行了一些研究,但还没有成功,我将对它进行另一次尝试。我最终采用了您在链接中介绍的类似方法。目前我的答案是在html页面中嵌入所有内容,包括javascript和json数据。然后,html文件可以在没有依赖项的情况下传递。谢谢