如何使用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
有关详细信息,请参阅此帖子