使用ajax显示来自多个json对象的数组&;jquery

使用ajax显示来自多个json对象的数组&;jquery,jquery,json,ajax,Jquery,Json,Ajax,我有多个类似于下面的对象。我想将所有多个json对象中的mealReviews:[]数组显示到$(“#mealdeails').html()中 我正在从ajax请求中检索数据,但当我使用console.log检查数据时,它似乎没有返回数据。当我以一个特定的对象为目标时,它会起作用,但当我试图从所有对象中获取相同的数据时,我会画一个空白 $.ajax({ url: url, type: 'GET', contentType: "application/json; charset=utf

我有多个类似于下面的对象。我想将所有多个json对象中的mealReviews:[]数组显示到$(“#mealdeails').html()中

我正在从ajax请求中检索数据,但当我使用console.log检查数据时,它似乎没有返回数据。当我以一个特定的对象为目标时,它会起作用,但当我试图从所有对象中获取相同的数据时,我会画一个空白

$.ajax({
  url: url,
  type: 'GET',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(data){
  $('#mealDetails').empty();
  // test to see if retrieving data
  console.log(data.title);
  var reviews = [];
  var output = '<div>';
  $.each(data.mealReviews, function(key, value) {
    output += '<div class="row">';
    output += '<div class="col-sm-3 col-sm-offset-1 col-md-3 col-md-
    offset-1"><img class="img-thumbnail" src="images/' + 
     this.accountType +'.png" width="200" height="200" alt="">';
    output += '<p>By <a>'+ this.username +'</a> '+ this.reviewDate +'</p></div>';
    output += '<div class="col-sm-8 col-md-8"><div class="row">';
    output += '<h2>'+ this.rating +'<span class="glyphicon glyphicon-star"></span> '+ this.subject +'</h2>';
    output += '<p class="textFormat">'+ this.review +'</p></div></div>';
    output += '</div>';
  });

output += '</div>';
reviews.push(output);
$('#mealDetails').html(output);


},
error:function(xhr,status,err){
  console.log('nah bruh thats a no go');
}

  });
$.ajax({
url:url,
键入:“GET”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
$(“#mealdeails”).empty();
//测试以查看是否正在检索数据
console.log(data.title);
var reviews=[];
var输出=“”;
$.each(data.mealReviews,函数(键,值){
输出+='';
输出+='';
通过“+this.username+”+this.reviewDate+”

”输出+='; 输出+=''; 输出+=''+此.rating+''+此.subject+''; 输出+='

'+this.review+'

'; 输出+=''; }); 输出+=''; 审查。推送(输出); $('#mealdeails').html(输出); }, 错误:函数(xhr、状态、错误){ log('nah bruh that a no go'); } });
更换

this.accountType
value.accountType


意味着您必须用
值替换所有
此。
$中。每个(..)

下面是一个示例解决方案

var数据1={
“_id”:{
$oid:“59ef162f7afc7636”
},
“mealIDa”:“法案”,
“mealIDb”:“TMNT2”,
“标题:“《忍者神龟2:软泥的秘密》”,
“描述”:“十几岁的变异忍者海龟(马克·卡索、米其兰·西斯蒂、莱夫·蒂尔登、肯恩·特鲁姆)再次与他们的大敌——流氓忍者碎纸机(弗朗索瓦·周)作战。”.施莱德试图通过获得制造海龟的放射性软泥来报复,并释放出两种新的可怕的变种:一种超大的捕捉海龟Tokka和一种可怕的狼形生物Rahzar。当施莱德计划将剩余软泥用在自己身上时,海龟们必须利用他们的忍者战斗技能来阻止他。”,
“发布日期”:“1991年3月22日”,
“语言”:“英语”,
“副标题”:错误,
“srt”:“忍者神龟II:软泥的秘密。srt”,
“导演”:“迈克尔·普雷斯曼”,
“演员”:“佩吉·图尔科”“四月奥尼尔”“、香草冰、米开朗西斯蒂”“米开朗基罗、索霍人”“、罗比·里斯特”“米开朗基罗”“、凯文·克拉什”“斯普林特”“,
“工作室”:“黄金收获公司、新线影院、北岸投资有限公司”,
“小时”:1,
“分钟”:28,
“评级”:“PG\u2013家长警告”,
“添加日期”:“2017-07-18T20:59:17.473Z”,
“mealReviews”:[{
“用户名”:“dwaynekshrn”,
“accountType”:“cop”,
“主题”:“幸运奖得主”,
“评级”:“1”,
《评论》:“我真的认为这部电影应该获得奥斯卡奖”,
“审阅日期”:“2017-07-25T23:29:53.371Z”
},
{
“用户名”:“dwaynekshrn”,
“accountType”:“cop”,
“主题”:“放炮钟上的一个”,
“评级”:“1”,
“回顾”:“他投篮,他得分!”,
“审阅日期”:“2017-07-24T22:58:17.622Z”
},
{
“用户名”:“少林寺凯尔”,
“accountType”:“monk”,
“主题”:“在大房子里”,
“评级”:“1”,
“点评”:“少林凯尔在家里!”,
“审阅日期”:“2017-07-24T22:47:56.056Z”
},
{
“用户名”:“dwaynekshrn”,
“accountType”:“cop”,
“主题”:“政治光谱”,
“评级”:“1”,
“评论”:“是毒品之子!”,
“审阅日期”:“2017-07-24T22:51:51.106Z”
}
]
};
var数据2={
“_id”:{
$oid:“59ef162f7afc7636”
},
“mealIDa”:“法案”,
“mealIDb”:“TMNT2”,
“标题:“《忍者神龟2:软泥的秘密》”,
“描述”:“十几岁的变异忍者海龟(马克·卡索、米其兰·西斯蒂、莱夫·蒂尔登、肯恩·特鲁姆)再次与他们的大敌——流氓忍者碎纸机(弗朗索瓦·周)作战。”.施莱德试图通过获得制造海龟的放射性软泥来报复,并释放出两种新的可怕的变种:一种超大的捕捉海龟Tokka和一种可怕的狼形生物Rahzar。当施莱德计划将剩余软泥用在自己身上时,海龟们必须利用他们的忍者战斗技能来阻止他。”,
“发布日期”:“1991年3月22日”,
“语言”:“英语”,
“副标题”:错误,
“srt”:“忍者神龟II:软泥的秘密。srt”,
“导演”:“迈克尔·普雷斯曼”,
“演员”:“佩吉·图尔科”“四月奥尼尔”“、香草冰、米开朗西斯蒂”“米开朗基罗、索霍人”“、罗比·里斯特”“米开朗基罗”“、凯文·克拉什”“斯普林特”“,
“工作室”:“黄金收获公司、新线影院、北岸投资有限公司”,
“小时”:1,
“分钟”:28,
“评级”:“PG\u2013家长警告”,
“添加日期”:“2017-07-18T20:59:17.473Z”,
“mealReviews”:[{
“用户名”:“dwaynekshrn”,
“accountType”:“cop”,
“主题”:“幸运奖得主”,
“评级”:“1”,
《评论》:“我真的认为这部电影应该获得奥斯卡奖”,
“审阅日期”:“2017-07-25T23:29:53.371Z”
},
{
“用户名”:“dwaynekshrn”,
“accountType”:“cop”,
“主题”:“放炮钟上的一个”,
“评级”:“1”,
“回顾”:“他投篮,他得分!”,
“审阅日期”:“2017-07-24T22:58:17.622Z”
},
{
“用户名”:“少林寺凯尔”,
“accountType”:“monk”,
“主题”:“在大房子里”,
“评级”:“1”,
“点评”:“少林凯尔在家里!”,
“审阅日期”:“2017-07-24T22:47:56.056Z”
},
{
“用户名”:“dwaynekshrn”,
“accountType”:“cop”,
“主题”:“政治光谱”,
“评级”:“1”,
“评论”:“是毒品之子!”,
“审阅日期”:“2017-07-24T22:51:51.106Z”
}
]
};
getData=函数(数据){
var reviews=[];
var输出=“”;
$.each(data.mealReviews,函数(键,值){
输出+='';
输出+='';
通过“+this.username+”+data.mealReviews[key].reviewDate+”

”输出+='; 输出+=''; 输出+=''+this.rating+''+data.mealReviews[key].subject+''; 输出+='

'+data.mealReviews[key].review+'

'; 欧点
$.ajax({
  url: url,
  type: 'GET',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(data){
  $('#mealDetails').empty();
  // test to see if retrieving data
  console.log(data.title);
  var reviews = [];
  var output = '<div>';
  $.each(data.mealReviews, function(key, value) {
    output += '<div class="row">';
    output += '<div class="col-sm-3 col-sm-offset-1 col-md-3 col-md-
    offset-1"><img class="img-thumbnail" src="images/' + 
     this.accountType +'.png" width="200" height="200" alt="">';
    output += '<p>By <a>'+ this.username +'</a> '+ this.reviewDate +'</p></div>';
    output += '<div class="col-sm-8 col-md-8"><div class="row">';
    output += '<h2>'+ this.rating +'<span class="glyphicon glyphicon-star"></span> '+ this.subject +'</h2>';
    output += '<p class="textFormat">'+ this.review +'</p></div></div>';
    output += '</div>';
  });

output += '</div>';
reviews.push(output);
$('#mealDetails').html(output);


},
error:function(xhr,status,err){
  console.log('nah bruh thats a no go');
}

  });
var reviews = [];
var output = '<div>';
$.each( data.mealReviews, function( key, value ) {
output += '<div class="row">';
output += '<div class="col-sm-3 col-sm-offset-1 col-md-3 col-md-offset-1"><img class="img-thumbnail" src="images/' + 
 value.accountType +'.png" width="200" height="200" alt="">';
output += '<p>By <a>'+ value.username +'</a> '+ value.reviewDate +'</p></div>';
output += '<div class="col-sm-8 col-md-8"><div class="row">';
output += '<h2>'+ value.rating +'<span class="glyphicon glyphicon-star"></span> '+ value.subject +'</h2>';
output += '<p class="textFormat">'+ value.review +'</p></div></div>';
output += '</div>';
});

output += '</div>';
reviews.push(output);
$( '#mealDetails' ).html( output );
var reviews = [];
var output = '<div>';
$.each( data, function( k, v ) {
    $.each( data[k].mealReviews, function( key, value ) {
        output += '<div class="row">';
        output += '<div class="col-sm-3 col-sm-offset-1 col-md-3 col-md-offset-1"><img class="img-thumbnail" src="images/' + value.accountType +'.png" width="200" height="200" alt="">';
        output += '<p>By <a>'+ value.username +'</a> '+ value.reviewDate +'</p></div>';
        output += '<div class="col-sm-8 col-md-8"><div class="row">';
        output += '<h2>'+ value.rating +'<span class="glyphicon glyphicon-star"></span> '+ value.subject +'</h2>';
        output += '<p class="textFormat">'+ value.review +'</p></div></div>';
        output += '</div>';
    });
});

output += '</div>';
reviews.push(output);
$( '#mealDetails' ).html( output );
 $.get(url).done(function(data){
 var reviews = [];
 var output = '<div>';
 $.each( data, function( k, v ) {
 if (data[k].mealReviews instanceof Array){
 $.each( data[k].mealReviews, function( key, value ) {
   if(value.username){
  output += '<div class="thumbnail row">';
  output += '<div class="col-sm-3 col-sm-offset-1 col-md-3 col-md-offset-1"><img class="img-thumbnail" src="images/' + value.accountType +'.png" width="200" height="200" alt="">';
  output += '<p>By <a>'+ value.username +'</a> '+ value.reviewDate +'</p></div>';
  output += '<div class="col-sm-8 col-md-8"><div class="row">';
  output += '<h2>'+ value.rating +'<span class="glyphicon glyphicon-star"></span> '+ value.subject +'</h2>';
  output += '<p class="textFormat">'+ value.review +'</p></div></div>';
  output += '</div>';
  }
 });
}

});

 output += '</div>';
 reviews.push(output);
 $( '#mealDetails' ).prepend(output);
});