【问题标题】:How to load more pages from the Reddit API?如何从 Reddit API 加载更多页面?
【发布时间】:2013-12-16 05:56:10
【问题描述】:

我有一个简单的问题。我对整个 API 领域相当陌生,目前我正在使用 Reddit API。我想要做的基本上不仅仅是加载我从中提取 JSON 的 subreddit 的一页。如果这是一个重复的问题,我提前道歉。

这是我目前所拥有的:

$.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 来说明如何做到这一点?

此外,如果这里的任何人感到慷慨,我的愿望是在此人不断向下滚动时获取更多信息。

谢谢。

【问题讨论】:

    标签: jquery json api reddit


    【解决方案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

    this answer

    【讨论】:

    • 这有点作用。当我单击“加载”时,我得到了相同的页面。是否可以连续加载第二页,然后是第三页? URL 中基本上告诉它加载页面的部分是什么?
    猜你喜欢
    • 2016-04-24
    • 2017-05-17
    • 1970-01-01
    • 2020-12-08
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    相关资源
    最近更新 更多