Как загрузить больше страниц из Reddit API?

У меня простой вопрос. Я новичок во всей области API и в данный момент работаю с Reddit API. Что я хочу сделать, так это загрузить больше, чем одну страницу субреддита, из которого я извлекаю JSON. Заранее извиняюсь, если это дублирующий вопрос.

Это то, что у меня есть до сих пор:

$.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", function(data) {
    $.each(data.data.children, function(i,item){
        $("<img/>").attr("src", item.data.url).appendTo("#images");
    });
});

Вы можете увидеть живой JsFiddle здесь: Reddit JSON

Мой вопрос:

Как я могу загрузить больше контента с других страниц? [Я полагаю, что это показывает только страницу № 1] Может ли кто-нибудь здесь дать мне ссылку или JsFiddle, который показывает, как это сделать?

Кроме того, если кто-то здесь чувствует себя щедрым, я стремлюсь получить больше информации, пока человек продолжает прокручивать страницу вниз.

Спасибо.


person Tiffany Lowe    schedule 30.11.2013    source источник


Ответы (1)


Вы можете использовать параметр after, например

var lastId;

function load(params) {
    params = params || {};
    $.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", params, function (data) {
        var children = data.data.children;
        $.each(children, function (i, item) {
            $("<img/>").attr("src", item.data.url).appendTo("#images");
        });
        if (children && children.length > 0) {
            lastId = children[children.length - 1].data.id;
        } else {
            lastId = undefined;
        }
    });
}

load();

$('.after').click(function () {
    if (lastId) {
        load({
            after: 't3_' + lastId
        });
    }
})

Демонстрация: Fiddle

См. этот ответ

person Arun P Johny    schedule 30.11.2013
comment
Это что-то делает. Когда я нажимаю «Загрузить», я получаю ту же страницу. Можно ли загрузить вторую страницу, затем третью страницу последовательно? Какая часть URL-адреса в основном говорит ему загрузить страницу? - person Tiffany Lowe; 30.11.2013