2014-02-05 3 views
2

Итак, я написал код, который ищет reddits api на основе запроса, и я хочу, чтобы он отображал комментарии. У меня есть следующий код, вложенный в мой оператор $.getJSON, который вытаскивает каждый заголовок/сообщение на основе вашего поискового запроса, и теперь я хочу отобразить дерево комментариев для каждого найденного результата (следовательно, почему я его вложил в мой исходный оператор getJSON)Получение комментариев от API Reddit

$.getJSON("http://www.reddit.com/r/" + sub + "/comments/" + id + ".json?", function (data){ 
    $.each(data.data.children, function (i, item) { 
    var comment = item.data.body 
    var author = item.data.author 
    var postcomment = '<p>[Author]' + author + '<br>' + comment + '</p>' 
    results.append(postcomment) 
    }); 
}); 

У меня есть чувство, что я могу структурировать заявление $.each неправильно или что-то в этом роде. Я просто слежу за тем, что я сделал для другого оператора getJSON. Есть идеи?

+0

Я также заметил на JSONViewer, что, когда я использую URL, чтобы получить комментарии, он тянет [0] и [1], 0 имея исходные данные для сообщение и 1, содержащие данные для комментариев. Может быть, мне нужно указать, чтобы посмотреть на [1]? – mickdeez

ответ

4

Reddit json содержит два объекта: сообщение и комментарии. Комментарии расположены в данных [1] Это должно работать:

$.getJSON("http://www.reddit.com/r/" + sub + "/comments/" + id + ".json?", function (data){ 
    $.each(data[1].data.children, function (i, item) { 
    var comment = item.data.body 
    var author = item.data.author 
    var postcomment = '<p>[Author]' + author + '<br>' + comment + '</p>' 
    results.append(postcomment) 
    }); 
}); 
+0

Я беру это обратно ... он работает иногда. Не в другое время. Это странно. Вот моя скрипка, если вы хотите посмотреть - http://jsfiddle.net/elliotmersch/bpZXL/ – mickdeez

+0

Нет, это работает. Кроме публикации в нижней части div вместо после каждого сообщения. Я думаю, мне нужен новый div. – mickdeez

Смежные вопросы