2015-10-06 5 views
0

Я использую цикл for для обработки данных, но он отображается неправильно. Я действительно застрял на нем. Данные поступают из другого сценария, но проблема находится в цикле for. Что мне не хватает?Json Data Forloop Issue

$.ajax({ 
    type:"POST", 
    url: "more.php", 
    data:"&max_id="+maxid, //Forms name 
    datatype: "json", 
    success: function(data, textStatus, xhr) { 
     data = JSON.parse(xhr.responseText); 
     //var image = data.images; 
     for (var i = 0, len = data.length; i < len; i++) { 
      var image = data.images; 
      var likes = data[i].likes[i]; 
      var comments = data[i].comments[i]; 
      var nextid=data[i].next_id; 
      $(".row").append("<div class='col-md-2 col-sm-3'><div class='thumbnail'><img src='"+image+"' style='width: 100%;' alt='Gallery Image'><p><br/> Likes:"+likes+" <br/> Comments: "+comments+" </p></div></div>"); 
     } 
    } 
}); 

Мои данные в формате JSON:

{ 
    "next_id":"1075182757212925396_588379938", 
    "images":[ 
     "xyz.com", 
     "abc.com", 
     "def.com" 
    ], 
    "likes":[ 
     26, 
     21, 
     29 
    ], 
    "comments":[ 
     0, 
     4, 
     0 
    ] 
} 
+0

Вы получаете данные как массив ..? или вы получаете данные, которые публикуются здесь только ...? – sunil

ответ

2

Ваш цикл должен быть как this..in кода вы проверили я с длиной данных .. вместо этого вы должны проверить его с images или likes или commentslength (Если объект данных не является массив ..) См. Отредактированный код ниже

for (var i = 0; i < data.images.length; i++) { 
       var image = data.images[i]; 
       var likes = data.likes[i]; 
       var comments = data.comments[i]; 
       var nextid=data.next_id; 
       $(".row").append("<div class='col-md-2 col-sm-3'><div class='thumbnail'><img src='"+image+"' style='width: 100%;' alt='Gallery Image'><p><br/> Likes:"+likes+" <br/> Comments: "+comments+" </p></div></div>"); 
    } 
+0

Ошибка в коде? – Roger

+0

какая ошибка вы получаете ..? – sunil

+0

Некоторая встроенная ошибка, редактор показывает ошибку, redline – Roger

0

Поскольку data не является массив, а объект, data[i], вероятно, не определены. Вы должны удалить эти скобки, я думаю: data[i].likes[i] =>data.likes[i].