我正在尝试使用jQuery.getJSON
来读取简单的JSON文件并访问其中的数据。出于测试目的,我在dropbox上托管.json文件并将其调用如下:
example.com/blah/的 foo.js
jQuery.getJSON("https://dl.dropboxusercontent.com/blah/data.json", function(data) {
values = data.A;
});
dropbox.com/blah/的 data.json
{
"A": {
"va1":"Value 1a",
"va2":"Value 2a",
"va3":"Value 3a",
},
"B": {
"vb1":"Value 1b",
"vb2":"Value 2b",
"vb3":"Value 3b",
},
}
这很好,values
就是我所期望的。但是当我尝试将.json文件存储在与javascript文件相同的webhost(example.com/blah/data.json
)上,并像这样访问它时,values
为空:
example.com/blah/的 bar.js
jQuery.getJSON("https://example.com/blah/data.json", function(data) {
//jQuery.getJSON("./data.json", function(data) { // tried relative links as well...
values = data.A;
});
遵循有关在我的.htaccess
文件中设置MIME类型的建议,
example.com/的的.htaccess
AddType application/json .json
但它仍然不会加载JSON文件的内容。我主机上的json文件的链接是正确的(它粘贴到浏览器时会显示json文件)。我不明白这一点,因为通常getJSON问题与跨域问题有关,但是在访问相同域上的.json文件时遇到问题,并且跨域似乎工作正常。