我有一个包含在本地Json文件中的数据结构。我想使用$.getJSON()
加载它。
json文件 locations.json :
{locations:
[{value: "Port Kelang",label: "Port Kelang",category: "Malaysia"},
{value: "Pusan",label: "Pusan",category: "South Corea"},
{value: "Qingdao",label: "Qingdao",category: "China"}]}
javascript文件:
$.getJSON("locations.json", function(data){
//do something
});
使用Chrome,我收到了错误消息:
XMLHttpRequest cannot load file:///E:/locations.json. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
虽然我在Firefox中遇到了另一个错误:
XML Parsing Error: not well-formed Location: file:///E:/locations.json Line Number 1, Column 1:
有任何帮助吗?提前谢谢。
答案 0 :(得分:0)
出于安全原因,浏览器不允许跨源请求。我在本地开发时遇到了这个问题。这是你在远程服务器上没有的问题。 我做了什么,我在浏览器中禁用了相同的原始策略: 如果你在mac上执行它:
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files
如果你在窗口那就这样:
"C:\PathTo\Chrome.exe" –allow-file-access-from-files -disable-web-security