получение данных Reddit через javascript

Я наткнулся на этот пост, и это в значительной степени то, что я хочу сделать:

Как извлечь данные URL-адреса из API Reddit используя 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 для селектора вернет количество голосов, но, видимо, ошибаюсь. Есть ли лучший способ сделать это?


person user3007294    schedule 17.10.2014    source источник
comment
Ссылаясь на контент для взрослых, вы всегда должны сообщать об этом людям. Я отредактировал ваше сообщение, добавив NSFW (небезопасно для работы) перед ссылкой на JSFiddle.   -  person James Donnelly    schedule 17.10.2014
comment
Для чего нужен $('.score.likes')? Это страница, над которой вы работаете? Вы не пытаетесь проанализировать JSON с помощью селекторов CSS?   -  person Rup    schedule 17.10.2014
comment
Спасибо, Джеймс. Я просто повторно использовал сообщение и не думал об этом таким образом ... спасибо за разъяснения. Rup — $('.score.likes') — это селектор элемента DOM, в котором хранится фактическое значение голосов. Я прочитал здесь stackoverflow.com/questions/10844664/, которые вы можете просто взять прямо из html...   -  person user3007294    schedule 17.10.2014


Ответы (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 из запроса.

person Spokey    schedule 17.10.2014
comment
ааа идеально! спасибо, Спойки. именно то, что я искал! еще есть 9 минут на прием... - person user3007294; 17.10.2014