2013-02-05 70 views

回答

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是的页数你想要“加载/显示”。

然后你只需要你有这样的网址,一旦调用这个函数:

displayImgs(url); 

,你应该得到你想要的。

这是DEMO

+0

多数民众赞成在伟大的,但如果它是一个动态的电话号码,而不是仅仅2? – Aiden

+0

你只需要设置一个变量,你可以像这样[** DEMO **](http://jsfiddle.net/Dim13i/NyLch/7/) – Dim13i

+0

就像你想要的那样改变我已经编辑了答案,添加了这个变量。 – Dim13i

0

一方面

url = data.pagination.next_url; 

是你的 “成功” 块之外。

+0

ohh对不起,我不认为它已更新之一。 http://jsfiddle.net/NyLch/4/ – Aiden