Jquery 在Json数组中选择未定义的特定对象

Jquery 在Json数组中选择未定义的特定对象,jquery,html,json,ajax,Jquery,Html,Json,Ajax,我做了一个for循环,遍历JSON数据,选择特定对象,然后将该对象附加到我的HTML中。当我选择前两个数组时,它工作得非常好。但一旦我选择了第二、第三、第四等,它就会显示“无法读取未定义的属性‘title’”。但前两个对象可以完美地工作 我不知道会发生什么事 任何帮助都将不胜感激。我已经用评论和****问题区域强调了我认为的问题区域**** 代码 var新闻数据; var eventsData; 函数getposts(str){ var baseUrl=http://www.capetowne

我做了一个for循环,遍历JSON数据,选择特定对象,然后将该对象附加到我的HTML中。当我选择前两个数组时,它工作得非常好。但一旦我选择了第二、第三、第四等,它就会显示“无法读取未定义的属性‘title’”。但前两个对象可以完美地工作

我不知道会发生什么事

任何帮助都将不胜感激。我已经用评论和****问题区域强调了我认为的问题区域****

代码

var新闻数据;
var eventsData;
函数getposts(str){
var baseUrl=http://www.capetownetc.com/api/get_category_posts/?slug=';
$.ajax({
键入:“获取”
,url:baseUrl+str
,数据:{
获取参数:“值”
}
,数据类型:“json”
,成功:函数postData(data){
如果(str=='news'){
新闻数据=数据;
显示帖子(新闻数据);
}
如果(str=='events'){
eventsData=数据;
}
}
});
}
getposts(“新闻”);
getposts(“事件”);
功能显示柱(str){
var数据=str;
如果(str=='news'){
数据=新闻数据;
}
如果(str=='events'){
数据=事件数据;
}
//图像Post1
var imgTitle1=data.posts[0]。标题;
imgTitle1=imgTitle1.replace(“新闻快报:,”);
$('.ip1.text heading').html(imgTitle1);
var imgThumb1=data.posts[0]。缩略图_images.full.url;
$('.ip1.main-card-img1').css(“背景图像”,“url”(+imgThumb1+));
//获取类别
var category=data.posts[0]。categories[1]。title;
$('.ip1.post source').html(category+“/”);
var maxLength2=6;
var pTime=data.posts[0]。日期;
pTime=pTime.substr(10,最大长度2);
$('.ip1.post source').append(pTime);
//文本Post1
var title1=data.posts[1]。title;
title1=title1.replace(“新闻快讯:,”);
$('.p1.text heading').html(标题1);
var ex1=data.posts[1]。摘录;
var maxLength=100;
ex1=ex1.substr(0,maxLength);
$('.p1.text post desc').html(ex1);
var thumb1=data.posts[1]。thumbnail_images.full.url;
$('.p1.card-img1').css(“背景图像”,“url”(“+thumb1+”));
//获取类别
var categoryP1=data.posts[1]。categories[1]。title;
$('.p1.post source').html(categoryP1+“/”);
var pTimeP1=data.posts[1]。日期;
pTimeP1=pTimeP1.substr(10,最大长度2);
$('.p1.post source').append(pTimeP1);
//文本Post2
var title2=data.posts[2]。title;
title2=title2.replace(“新闻快讯:,”);
$('.p2.text heading').html(标题2);
var ex2=data.posts[2]。摘录;
ex2=ex2.substr(0,maxLength);
$('.p2.text post desc').html(ex2);
var thumb2=data.posts[2]。thumbnail_images.full.url;
$('.p2.card-img2').css(“背景图像”,“url”(“+thumb2+”));
//获取类别
var categoryP2=data.posts[2]。categories[1]。title;
$('.p2.post source').html(categoryP2+“/”);
var pTimeP2=data.posts[2]。日期;
pTimeP2=pTimeP2.substr(10,最大长度2);
$('.p2.post source').append(pTimeP2);
//文本Post3
var title3=data.posts[3]。title;
title3=title3.replace(“新闻快讯:,”);
$('.p3.text heading').html(标题3);
var ex3=data.posts[3]。摘录;
ex3=ex3.substr(0,maxLength);
$('.p3.text post desc').html(ex3);
var thumb3=data.posts[3]。thumbnail_images.full.url;
$('.p3.card-img3').css(“背景图像”,“url”(“+thumb3+”));
//获取类别
var categoryP3=data.posts[3]。categories[1]。title;
$('.p3.post source').html(categoryP3+“/”);
var pTimeP3=data.posts[3]。日期;
pTimeP3=pTimeP3.substr(10,最大长度2);
$('.p3.post source').append(pTimeP3);
//后填充
$('#post1')。单击(函数post1(str){
$('.post1').css('left','0px');
$('.post header').css('left','0px');
$('.post cont').css('左','-9999px');
$('.slider').css('left','-9999px');
//图像Post1
var imgTitle1=data.posts[0]。标题;
imgTitle1=imgTitle1.replace(“新闻快报:,”);
$('.post1.header').html(imgTitle1);
var imgThumb1=data.posts[0]。缩略图_images.full.url;
$(“#para img').css(“背景图像”、“url(“+imgThumb1+”));
var text1=data.posts[0]。内容;
$('.post1.text').html(text1);
var category=data.posts[0]。categories[1]。title;
$('.lay2.post source').html(category+“/”);
var maxLength2=6;
var pTime=data.posts[0]。日期;
pTime=pTime.substr(10,最大长度2);
$('.lay2.post source').append(pTime);
//获取标签******问题区域*****
函数getTags(){
对于(var i=0;i”+“”+“”+数据。帖子[0]。标记[i]。标题+++“”;
$('.tag list').append(newTag);
console.log(data.posts[0]。标记[i]。标题);
console.log(data.posts[2].tags[i].title);
}}
getTags();
});

主页

事件

夜生活

进餐

户外

录像带


您可以捕获触发问题的url或收到的jsonstring吗?您好,如果我理解您的意思的话