getJSON跨域工作,但不在同一域/本地

时间:2015-08-21 13:06:45

标签: jquery json .htaccess

我正在尝试使用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文件时遇到问题,并且跨域似乎工作正常。

0 个答案:

没有答案