【发布时间】:2013-02-05 01:18:23
【问题描述】:
我很困惑为什么我会收到重复的图像。
这是我在 jsfiddle 上的代码:
我在想这可能是一个async 问题,在搜索之前收到新的分页,但是我能做些什么来改变它???
谢谢你
艾登
【问题讨论】:
-
jsfiddle.net/NyLch/4 是更新后的链接
标签: javascript jquery api instagram
我很困惑为什么我会收到重复的图像。
这是我在 jsfiddle 上的代码:
我在想这可能是一个async 问题,在搜索之前收到新的分页,但是我能做些什么来改变它???
谢谢你
艾登
【问题讨论】:
标签: javascript jquery api instagram
问题在于第二个$.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。
【讨论】:
一方面
url = data.pagination.next_url;
不在您的“成功”范围内。
【讨论】: