3

我的问题很简单,我有一个名为 new.json 的文件,我正在尝试使用 JQuery 来加载和显示数据。我一直在编写 JavaScript 代码:

$.getJSON("new.json", function(data){
        // I have placed alert here previously and realized it doesn't go into here
        $.each(data.streetCity, function(i,s){
            alert(s);
        });
    });
}

new.json 中的数据如下所示:

{"streetCity":
    {
        "1":"Abergement-Clemenciat",
        "2":"Abergement-de-Varey",
        "3":"Amareins"
    }
};
4

3 回答 3

11

如果您使用的是 Chrome。因为 Chrome 不允许 xmlhttprequest 请求本地文件。所以 jquery 不能加载你的 new.json

你可以加

--allow-file-access-from-files

到chrome的启动命令。这可以允许 xmlhttprequest 加载本地资源

于 2012-12-14T02:10:53.447 回答
2

如果您使用的是 jQuery 1.5+,您可以将错误处理程序链接到调用以查看发生了什么:

$.getJSON("new.json", function(data){
        // I have placed alert here previously and realized it doesn't go into here
        $.each(data.streetCity, function(i,s){
            alert(s);
        });
    }).error(function(jqXhr, textStatus, error) {
                alert("ERROR: " + textStatus + ", " + error);
    });

new.json 可能与调用页面位于不同的路径中。此外,如果您的片段是准确的,您不需要脚本中的最后一个花括号或 json 中的最后一个分号。

于 2012-12-14T02:12:56.637 回答
1

你的问题是';' (分号)在 JSON 文件中。JSON 响应不需要分号。删除您的示例应该可以正常工作!

于 2013-01-03T20:46:49.910 回答