【问题标题】:Instagram grabbing photos based on hashtagInstagram 根据标签抓取照片
【发布时间】:2014-09-26 13:03:08
【问题描述】:
setInterval(function () {      
    $("ul").empty();
    var tag = $("#add").data('tag'), maxid = $("#add").data('maxid');

    $.ajax({
        type: 'GET',
        url: 'ajax.php',
        data: {
            tag: tag,
            max_id: maxid
        },
        dataType: 'json',
        cache: false,
        success: function(data) {
            // Output data
            $.each(data.images, function(i, src) {
                $('ul#photos').append('<li><img src="' + src + '"></li>');
            });

            // Store new maxid
            $('#add').data('maxid', data.next_id);
        }
    }); 
}, 20000);

我正在尝试以 20 秒的间隔一次加载 1 张图片。但是对于只有 27 张照片的某个主题标签。它加载得很好,直到最后 20 个,即使我将它限制为一个,它也会一次加载。总是最后 20 个。

如何在最后 20 个中一次加载 1 个?

【问题讨论】:

    标签: javascript php ajax instagram


    【解决方案1】:

    如果不查看您的 PHP 脚本,很难准确地说出来,但我可以说的是,您正在迭代返回的照片数组(使用 $.each)并将返回的照片数组中的每张照片附加到您的 DOM .

    所以有一件事是,不要遍历照片数组,而只需访问照片数组的第一个索引 (data.images[0])。如果您无法弄清楚为什么您的服务器端代码返回的照片比您想要的多(您应该调查),只需抓取所有照片并设置超时,在您制作后每 20 秒添加一张返回的照片所有这些的网络请求。这也意味着更少的网络请求,所以也许这对您来说是一个很好的解决方案。

    如果您想发出最多 20 个 ajax 请求(可能不是最佳解决方案),并且您得到的图像比您想要的多,那么您的 PHP 需要进行调查,而现在您只是向我们展示了客户端侧码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-30
      • 2016-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多