Javascript-getJSON从本地文件获取数据
我有一个包含在本地Json文件中的数据结构。我想使用Javascript-getJSON从本地文件获取数据,javascript,jquery,json,getjson,Javascript,Jquery,Json,Getjson,我有一个包含在本地Json文件中的数据结构。我想使用$.getJSON()加载它 json文件位置。json: {locations: [{value: "Port Kelang",label: "Port Kelang",category: "Malaysia"}, {value: "Pusan",label: "Pusan",category: "South Corea"}, {value: "Qingdao",label: "Qingdao",category:
$.getJSON()
加载它
json文件位置。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:
有什么帮助吗?提前感谢。出于安全原因,浏览器不允许跨源请求。我在当地发展的过程中遇到过这个问题。这是远程服务器上不会出现的问题。 我所做的是在浏览器中禁用了同源策略: 如果您在mac上,请执行以下操作:
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files
如果您在Windows上,请执行以下操作:
"C:\PathTo\Chrome.exe" –allow-file-access-from-files -disable-web-security
通过另一台服务器托管这些文件。可能是ftp?如果你读到Chrome的错误信息,它会告诉你出了什么问题。而且,正如Firefox告诉您的那样,您的JSON格式不正确。必须引用属性名称。请看@MikeMcCaughan事实上,我在Firefox中也遇到了同样的错误,即使属性名被引用。。。。那么,您的JSON还有其他问题。使用linting工具确保JSON是JSON。