我有一个数据对象,里面有数据对象,里面有json数据。这是怎样的样子。该文件的名称为data.js
var data =
[
{
title: 'this is title one',
commit: 'this is commit'
},
{
title: 'this is title two',
commit: 'this is commit'
},
{
title: 'this is title three',
commit: 'this is commit'
},
{
title: 'this is title four',
commit: 'this is commit'
},
{
title: 'this is title five',
commit: 'this is commit'
},
{
title: 'this is title six',
commit: 'this is commit'
},
{
title: 'this is title seven',
commit: 'this is commit'
}
]
这是我的代码
for (var i = 0; i < data.length; i++) {
$(container).load(view, function () {
console.log(data[i].title);
li.append('<img src="../images/profile.png" alt="Profile photo" />');
li.append('<span class="commit">' + data[i].title + '</span>');
li.append('<p><a href="#" class="comment">' + data.commit + '</a></p>');
li.append('<section class="clear"></section>');
$('#home ul').append(li);
});
}
现在我在控制台中收到此错误
Cannot read property 'title' of undefined
以上错误就在这一行
li.append('<span class="commit">' + data[i].title + '</span>');
如何解决这个问题?
答案 0 :(得分:0)
嗯,data.js不是真正的json。
首先从load()切换到getJSON()
$.getJSON(view, function(data) { })
接下来删除该行
var data =
只有json内容。 jQuery会将JSON分配给参数数据。
答案 1 :(得分:0)
您的json数组包含错误。
您可以在http://json.parser.online.fr/
验证您的json必须如此:
{
"title": ["this is title one", "this is title two", "this is title three", "this is title four", "this is title five", "this is title six", "this is title seven" ]
,
"commit": [ "this is commit", "this is commit", "this is commit", "this is commit", "this is commit", "this is commit", "this is commit" ]
}