0

我正在从数据库中返回大约 200 多个项目并显示,但我想知道什么时候没有更多项目要返回,因为我在滚动加载功能中使用它,并想在用户到达终点时告诉用户.

Next - 获取下一批用户

Next = function () {
    var _page = $.views.Roster.ViewModel.CurrentPage() + 1;
    $.views.Roster.GetPage("/api/Roster", 9, _page);
};

$.views.Roster.GetPage = function (url, id, pageNumber) {
        $.grain.Ajax.Get({
            Url: url,
            DataToSubmit: { pageNumber: pageNumber, id: id },
            DataType: "json",
            OnSuccess: function (data, status, jqXHR) {
                $.views.Roster.RosterViewModel.AddUsers(data);
                $.views.Roster.ViewModel.CurrentPage(pageNumber);
            }
        });
    };

让我知道我是否要提供更多信息。

4

1 回答 1

0

您可以:

如果您可以控制返回的 JSON并且格式是可修改的(例如,它不是某种可公开访问的 Web 服务),您可以修改返回的响应,使其包含所需的信息作为附加字段。

{
   users: [...your list of users data],
   hasMoreData: true
}

或者...

假设数据以固定长度的批次返回,请检查返回批次的长度,如果它比预期长度短,则将其视为没有更多项目的标记(这会使您面临潜在的空如果总记录是批次长度的精确倍数,则结果):

if (usersData.length < MAX_BATCH_LENGTH) {
   hasMoreData(false);
}
于 2013-04-18T22:01:09.960 回答