jQuery JSON。每个错误
我有一个JSON对象,看起来像这样jQuery JSON。每个错误,jquery,json,getjson,each,Jquery,Json,Getjson,Each,我有一个JSON对象,看起来像这样 [ { "id" : "23", "event_id" : "0", "sport_title" : null, "event_title" : null, "title" : "Under 1 day!", "content" : "It\\'s all hotting up and battle commences in under one d
[
{
"id" : "23",
"event_id" : "0",
"sport_title" : null,
"event_title" : null,
"title" : "Under 1 day!",
"content" : "It\\'s all hotting up and battle commences in under one day!",
"link" : ""
},
{
"id" : "20",
"event_id" : "0",
"sport_title" : null,
"event_title" : null,
"title" : "Getting Exciting",
"content" : "Less than two days till it all kicks off, with cricket....",
"link" : ""
}
]
我正试图从这个JSON对象中获取详细信息,并将它们预先添加到
我目前正在尝试的代码看起来像这样,并且有问题
var writeup_list = writeuplist;
$.getJSON('../json/getWriteups.json', function(data) {
$.each(data.items, function(i, item) {
writeup_list.html(function() {
var output;
output = '<li><a href="/writeups/index.php#writeup_' + item.id + '">';
if(item.sport_title != null) {
output += item.sport_title + ' - ';
}
output += item.title + '</a></li>';
return output;
});
});
});
var writeup_list=writeuplist;
$.getJSON('../json/getWriteups.json',函数(数据){
$.each(data.items,function(i,item){
writeup_list.html(函数(){
var输出;
输出=“”;
返回输出;
});
});
});
writeuplist只是ul对象
我还担心覆盖列表中已有的信息或只是再次添加。不希望继续添加相同的数据。避免这种情况的好方法是什么
我似乎在从JSON文件中获取数据时遇到了问题,我相信这与我试图在.each函数中访问它的方式有关
有人能发现哪里出了问题吗?我认为你应该使用:
$(data.items).each(function(i, item) {
但是,您也可以使用标准javascript循环来执行相同的操作:
for (var i = 0; i < data.items.length; i++) {
var item = data.items[i];
我认为你应该使用:
$(data.items).each(function(i, item) {
但是,您也可以使用标准javascript循环来执行相同的操作:
for (var i = 0; i < data.items.length; i++) {
var item = data.items[i];
jQuery.getJSON('../json/getWriteups.json',函数(数据){
var输出=“”;
每个(data.items,函数(index,item){
输出+='';
});
writeup_list.html(输出);
});
需要注意的一些事项:
alert(data.items)
,并确保看到[object Array])项目。运动标题将为空吗?我把它改成了一个字符串
element.html(str)
将替换当前内容。您的示例用每个迭代替换当前html,因此在最后,您只拥有列表中最后一个列表元素的内容jQuery.getJSON('../json/getWriteups.json',函数(数据){
var输出=“”;
每个(data.items,函数(index,item){
输出+='';
});
writeup_list.html(输出);
});
需要注意的一些事项:
alert(data.items)
,并确保看到[object Array])项目。运动标题将为空吗?我把它改成了一个字符串
element.html(str)
将替换当前内容。您的示例用每个迭代替换当前html,因此在最后,您只拥有列表中最后一个列表元素的内容首先,不要使用
data.items
,而应该使用data
。在您的例子中,返回的数据是一个数组,因此您希望迭代该数组
其次,代码的编写方式会不断覆盖writeup\u列表
的内容。相反,构建html字符串,然后在末尾设置:
$.getJSON('../json/getWriteups.json', function(data) {
var output = '';
$.each(data, function(i, item) {
output += '<li><a href="/writeups/index.php#writeup_' + item.id + '">';
if(item.sport_title != null) {
output += item.sport_title + ' - ';
}
output += item.title + '</a></li>';
});
writeup_list.html(output);
});
$.getJSON('../json/getWriteups.json',函数(数据){
var输出=“”;
$。每个(数据、功能(i、项){
输出+='';
});
writeup_list.html(输出);
});
首先,您应该只使用数据,而不是数据.items
。在您的例子中,返回的数据是一个数组,因此您希望迭代该数组
其次,代码的编写方式会不断覆盖writeup\u列表
的内容。相反,构建html字符串,然后在末尾设置:
$.getJSON('../json/getWriteups.json', function(data) {
var output = '';
$.each(data, function(i, item) {
output += '<li><a href="/writeups/index.php#writeup_' + item.id + '">';
if(item.sport_title != null) {
output += item.sport_title + ' - ';
}
output += item.title + '</a></li>';
});
writeup_list.html(output);
});
$.getJSON('../json/getWriteups.json',函数(数据){
var输出=“”;
$。每个(数据、功能(i、项){
输出+='';
});
writeup_list.html(输出);
});
关于数据项的看法是正确的,结果证明这些数据项只是数据。现在,我们将在计时器中测试这段代码,看看它是否添加了相同的内容。。。我不想让它这样做!数据项是正确的,结果只是数据。现在,我们将在计时器中测试这段代码,看看它是否添加了相同的内容。。。我不想让它这样做!