在写前端绘制中国地图的时候,需要调用Json文件,在本地调试的时候遇到如下报错:
开发环境:macOS 系统 safari浏览器
报错如下:
XMLHttpRequest cannot load file XXX(本地文件)
和:
Cross origin requests are only supported for HTTP.
(anonymous function) — d3.min.js:1:11319
(anonymous function) — d3.min.js:1:10910
Cn — d3.min.js:1:11413
(anonymous function) — d3.min.js:5:23291
Global Code — 10-4-1-tree.html:49
d3.min.js:1:11319
原因:没有解除浏览器自带的跨域限制(cross origin restrictions
),导致无法调用本地json文件。
解决方法:在safari浏览器中->顶部菜单栏->勾选解除跨域限制 + 接触本地文件限制(也就是Disable Local File Restrictions 和 Disable Cross-Origin Restrictions两个)
勾选结束后如下:
然后接着打开本地html就可以调用本地JSON文件了,如下: