一、 问题
1.1
在接收 json 数据的时候出现了以下错误;
打开测试用的 json 文件发现数据并没有问题,而第一个报错可以看到 Cross origin requests are only supported for protocol schemes:… ,也就是说所使用的数据不在跨域的许可范围中;
二、解决方案
2.1 方法一:禁用浏览器安全设定(这里演示的是谷歌浏览器)
在 c 盘根目录新建一个文件夹,起一个非中文名字,如:MyChromeCrossDomain ;
右键谷歌属性,在目标输入框尾部加上 --disable-web-security,再追加用户目录数据存放位置 --user-data-dir=前面所建文件夹的路径
例如: --disable-web-security --user-data-dir=C:\MyChromeCrossDomain
点击应用,再点击确认,期间可能会提示需要管理员权限;
打开浏览器网址输入框下方呈现与下图一样时表示配置成功;
这时候我们再把网页在谷歌打开即可显示数据;
2.2 使用插件解决
禁用浏览器安全设定是有缺陷的,一方面只有禁用了浏览器安全设定的那一个浏览器能够跨域,连一方面直接使用 vscode 打开页面不会绕过跨域限制;
vscode 有一个插件叫 live sever,这个插件的功能是建立一个本地的服务器供开发人员使用;
安装好这个插件之后我们到需要打开的页面代码中右键会有一个以服务器的方式打开的选项,使用这个选项打开跨域问题就不会出现了;