jquery + json加载内容但在firebug控制台中显示错误

时间:2012-01-23 22:51:14

标签: jquery json firebug

现在我可以在网页中为3个不同的部分加载json内容,但是显示了几个错误,通过函数中的变量传递内容。我解释一下。

第1节使用jquery函数从file1.json加载内容。

第1部分的脚本

var f = $(this).data('residentidx');
$.getJSON("file1.json", function(data) {
    $("#tt_mn").html($("<p class='prod_c'>" + data.articles[f].title + "</p>"));
    $("#content_mn").html($("<p class='prod_d'>" + data.articles[f].esquema + "</p>"));
});

file1.json

{"articles":
[{"title":"......", "esquema":"............"}, ...,{"title":".....","esquema":"......"}]}

脚本第2节

var i = $(this).data('renovidx');
$.getJSON("file2.json", function(data) {
    $("#tt_mn").html($("<p class='prod_c'>" + data.articles[i].title + "</p>"));
    $("#content_mn").html($("<p class='prod_d'>" + data.articles[i].esquema + "</p>"));
});

file2.json

{"articles":
[{"title":"......", "esquema":"............"}, ...,{"title":".....","esquema":"......"}]}

似乎所有数据都显示正确,但它在firebug控制台中显示错误。

data.articles[i] is undefined @ http://www.xxxxx.com/js/jquery-1.7.1.min.js:14

这很奇怪,因为当我在第二节中时,firebug控制台显示[i]值的错误,其中jquery-function使用[f]值来查找json数组中的元素。

谢谢

2 个答案:

答案 0 :(得分:0)

你验证了你的JSON吗?使用http://jsonlint.com/或html http://json.bloople.net/

答案 1 :(得分:0)

你展示的第二个函数是使用i变量,这可以解释为什么它会在那时抛出错误......

您是否检查了$(this).data('renovidx')返回的内容?您确定您的JSON密钥值对的密钥等于$(this).data('renovidx')吗?