现在我可以在网页中为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数组中的元素。
谢谢
答案 0 :(得分:0)
你验证了你的JSON吗?使用http://jsonlint.com/或html http://json.bloople.net/
答案 1 :(得分:0)
你展示的第二个函数是使用i
变量,这可以解释为什么它会在那时抛出错误......
您是否检查了$(this).data('renovidx')
返回的内容?您确定您的JSON密钥值对的密钥等于$(this).data('renovidx')
吗?