分页ajax请求怎么判断加载完成再调用ajax请求

在手机端做了一个下拉刷新,要求是不要一次性全部加载数据,而是当到达一百条之后再一次,加载数据。
我想的是通过ajax调用之后判断有一百条之后再去ajax,但是这样嵌套太多,有没有别的方案。

比如:
var index=0;

$.ajax({
    type: 'GET',
    url: 'st/data/oder.json?page=1',
    dataType: 'json',
    success: function(data){
       for(var i=0;i<data.length; i++){
           index++;
       }
       if(index =100){
           $.ajax({
                type: 'GET',
                url: 'st/data/oder.json?page=2',
                dataType: 'json',
                success: function(data){
                   for(var i=0;i<data.length; i++){
                       index++;
                   }
                   if(index =100){
                       
                   }
               })
       }
   })
阅读 4.7k
3 个回答

大概的意思如下:

var allData = [];

function getData(pageIndex) {
    $.getJSON('st/data/oder.json?page=' + pageIndex, function(data) {
        allData = allData.concat(data);
        if (data.length == 100) {
            getData(pageIndex++);
        }
    });
}

这样 allData 就是所有数据了。至于具体的参数什么的,你可以自己扩展了。

1.后端分页拉取数据,后端计算出多少页,每一页多少条数据,每次传不同的页数即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进