Захват данных Reddit через JavaScript

Я наткнулся на этот пост, который я и собираюсь сделать:

Как извлечь данные URL из Reddit API с помощью JSON

Я изменил предоставленный jsfiddle (NSFW http://jsfiddle.net/DHKtW/170/), чтобы он читал:

$.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", function(data) {
  $.each(data.data.children, function(i,item){
    console.log($('.score.likes').html(item));
  });
});

Моя цель - собрать общее количество голосов за данную страницу. Когда вы запускаете это и смотрите на консоль, объекты возвращаются, но не фактическое число. Я думал, что просто вызов html для селектора вернет количество голосов, но, по-видимому, я ошибаюсь. Есть ли лучший способ сделать это?

1 ответ

Решение

Вам нужно console.log(item) чтобы увидеть возвращенные данные. Используя это, мы можем увидеть, что item.data.score возвращает оценку поста.

$.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", function (data) {
    $.each(data.data.children, function (i, item) {
        console.log(item.data);
        $('<div/>', {
            text: 'Post ' + item.data.permalink + ' has a score of ' + item.data.score
        }).appendTo('#images');
    });
});

http://jsfiddle.net/DHKtW/353/

Причина, по которой вы видели объекты без номера, заключается в том, что вы console.log($('selector')) и это возвращает объект jQuery, а не json из запроса.

Другие вопросы по тегам