【问题标题】:Getting duplicate images in the Instagram API when using javascript ajax post request使用 javascript ajax 发布请求时在 Instagram API 中获取重复图像
【发布时间】:2013-02-05 01:18:23
【问题描述】:

我很困惑为什么我会收到重复的图像。

这是我在 jsfiddle 上的代码:

http://jsfiddle.net/NyLch/3/

我在想这可能是一个async 问题,在搜索之前收到新的分页,但是我能做些什么来改变它???

谢谢你

艾登

【问题讨论】:

标签: javascript jquery api instagram


【解决方案1】:

问题在于第二个$.ajax() 调用是在第一个调用结束之前进行的。

你需要做的是这样设置一个函数:

var n = 0, pages = 2;
function displayImgs(url) {
    $.ajax({
            type: "GET",
            dataType: "jsonp",
            cache: false,
            url: url,
            success: function(data) 
            {
                 alert(data.pagination.next_url);
                 for(var i=0;i<data.data.length; i++)
                 {
                     $("#gallery").append('<img src="'+data.data[i].images.low_resolution.url+'" height="50" width="50">');
                 }
                n++
                if(n<pages) displayImgs(data.pagination.next_url);
            }
    });
}

其中 n 仅用于检查您调用该函数的次数,而 pages 是您要“加载/显示的页面数” ”。

然后您只需使用您拥有的 url 调用一次此函数,如下所示:

displayImgs(url);

你应该得到你想要的。

这是DEMO

【讨论】:

  • 这很好,但是如果它是动态的调用次数而不是 2 次呢?
  • 你只需要设置一个变量,你可以在这个DEMO中随意改变它
【解决方案2】:

一方面

url = data.pagination.next_url;

不在您的“成功”范围内。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-25
    • 2015-03-16
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多