【发布时间】:2017-11-18 00:11:36
【问题描述】:
我正在开发一个稍后将在 Android 和 iOS 上启动的跨平台 (html5) 项目,我遇到了 getJSON 在 Chrome 浏览器上从本地 .json 文件加载数据的问题。调用时
jQuery.getJSON("layout.json", this.onLoaded);
我明白了
错误:XMLHttpRequest 无法加载 file:///E:/app/layout.json。跨域请求仅支持协议方案:http、data、chrome、chrome-extension、https`
在 jquery-3.2.1.js:9566 是:xhr.send( options.hasContent && options.data || null );
我在网上冲浪寻找解决方案,并想出了这两种在我的情况下不起作用的解决方案:
- 在 chrome 上手动启用 access-control-allow-origin
- 在服务器上上传项目文件
我正在寻找本地加载 json 数据的解决方案。
非常感谢您的帮助!
【问题讨论】:
-
请从您的项目中添加一些代码示例以获得帮助。
-
1.使用
HBuilder这个 Eclipse 克隆 IDE 并在本地 Web 服务器中自动查看本地文件或 2. 将 JSON 线程化为 js 文件并在生产环境中使用时将其改回 -
@arturkin 这里是代码示例和我得到的错误:jQuery.getJSON("layout.json", this.onLoaded);错误:XMLHttpRequest 无法加载 file:///E:/app/layout.json。跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https。 jquery-3.2.1.js:9566 即:xhr.send( options.hasContent && options.data || null );
-
@YuJiaao 感谢您的意见。问题是我想要一个解决方案,而不是在服务器上甚至在本地运行项目。
-
插入了作者评论中的代码示例;改进的格式。请澄清:“本地加载”是否意味着加载的页面和加载的文件都是本地的?
标签: javascript json google-chrome cross-platform getjson