其他分享
首页 > 其他分享> > getJSON无法读取本地json数据的问题

getJSON无法读取本地json数据的问题

作者:互联网

1.getJSON无法读取本地json数据的问题

1.1数据量较小

<script type='text/javascript' src='xxxx.json'></script>

1.2数据量庞大

<script>
        $(function(){
            $.getJSON("test.json", function(data){
                alert('abc');
            });
        });
</script>

结果失败,无法获取JSON文件内容,在谷歌浏览器控制台中报错

XMLHttpRequest cannot load file:///C:/Users/Administrator/Desktop/test.json. Cross origin requests are only supported for protocol schemes: http, data, chrome, se-extension, https.

提示这个原因是:浏览器为了安全性考虑,默认对跨域访问禁止。

知道了原因,接下来是解决方式:

解决一(还不太懂): 
在sublime里面 启动sublimeServer,开启服务器模式,在浏览器中通过localhost:8080/index.html访问,再看 debug tool,没有报错了,完美!~成功访问到本地json文件。

好奇助我成长,顺手拖进火狐测了一下,并没有报错 
FireFox : 允许读取本地相对路径脚本。
解决二: 
查资料,发现还有一种解决方法,不用启动服务器模式,直接更改chrome的设置就行。 
在chrome属性设置中,添加启动参数: 
--allow-file-access-from-files : 允许本地Ajax请求,也叫file协议下的Ajax请求 
--enable-file-cookies : 允许chrome保存本地设置cookie

设置方法:chrome快捷方式–右键“属性”–快捷方式–目标 

转载:https://blog.csdn.net/memoriesaier/article/details/81040433

标签:file,chrome,getJSON,json,报错,本地,读取
来源: https://www.cnblogs.com/wanlixiaozuaaa/p/16204816.html