我想在我的"angularJs“应用程序中实现分页。我有一个下拉菜单,我使用的是angular-ui。首先,我希望应用程序从"API“加载第一组数据,并在ngInfiniteScroll的帮助下滚动到按钮,请求"API”中的下一组数据。例如,在请求"URL“中,我添加了"page=1”作为参数,对于任何请求,我都添加了“页面”号。我的问题是,对于这个分页,"API“是否应该具有分页功能,或者我可以对任何"API”这样做?如果"API“需要具有该功能,您知道有任何具有分页功能的"API”来测试我的应用程序吗?感谢你的帮助。我的代码是这里
发布于 2018-06-05 08:32:32
API必须支持分页,因为它应该能够用数据片段来响应查询,而不是一次性转储所有数据。
例如:
第1页:your.api.endpoint/your/resource/path/countries?offset=0&pageSize=50
第4页:your.api.endpoint/your/resource/path/countries?offset=200&pageSize=50
不过,您可以为分页构建您的URL参数,例如/countries?pageNo=4&pageSize=50、/countries?from=200&to=250等。
注意:
当您实现服务器端分页时,您也需要实现服务器端的排序和过滤;这是因为在服务器端分页时,客户端只能看到1页数据,因此排序或过滤将是不准确的。
编辑以显示模拟API响应的示例
在您的服务中,您可能有这样的东西:
return $http({
method: 'GET',
url: 'your.api.endpoint/your/resource/path/countries?offset=200&pageSize=50'
})你可以用:
var pageOfData = { ... }; // Mocked data here.
return $q(function (resolve, reject) {
resolve(pageOfData);
});https://stackoverflow.com/questions/50694749
复制相似问题