JQuery.getJSON() 读取本地文件



如何使用JQuery.getJSON()读取当前目录中的文件?

我正在尝试一些简单的事情(我的 data.json 文件与我的 html 文件位于同一目录中):

$.getJSON("./data.json")

我收到错误:

XMLHttpRequest 无法加载 file:///C:/Projects/test/data.json。访问控制允许原点不允许

源空。

我已经尝试了各种路径组合,但它似乎不起作用......

编辑:我正在使用Chrome,但我想在所有浏览器中工作...

如果您使用的是Google Chrome,则有意使file:///路径上的AJAX永远无法正常工作。

CRBUG/40787

安装本地 LAMP 服务器的另一种方法是使用 python 的简单 HTTP 服务器。只要你安装了python,只需打开bash并使用python解释器。

对于 python 2,请使用:

python -m SimpleHTTPServer 8000

对于 python 3,请使用:

python -m http.server 8000

然后只需将浏览器指向localhost:8000,如果文件位于同一目录中,则访问该文件应该不会有任何问题。

这是因为您直接从硬盘驱动器运行Web文件。这其中有各种陷阱,您发现了其中之一。理想情况下,您希望在服务器环境中工作,甚至在本地。您可以安装(免费的)本地 LAMP 服务器,例如 XAMPP。然后,您将能够使用本地 AJAX。

这与路径无关

这是一个跨域问题

基本上你需要在你的 URL 中添加一个回调,这样 jQuery 就可以自动将请求类型从 json 更改为 jsonp

有关详细信息,请参阅此帖子

相关内容

  • 没有找到相关文章