0

我正在使用一个 web api,它提供为我构建的分页结果,一旦页面加载,我就可以通过控制器中的 $resource 服务获取结果的第一页。这按预期工作。

如何在响应元中使用 URL 时分页到下一组结果并将其连接到 Twitter Bootstrap 分页控件?

这是我得到的响应 JSON 的一个想法:

{
    "results": [
               { "some-data" },
               { "some-data" }
            ],
    "meta": {
              "totalRecords": 33,
              "pageSize":     10,
              "nextSet":      "http://api.domain.com/?action=whatever&pageSize=10&offset=10"
          }
}

我试图在回调中将下一个分页控件设置为元中的 URL,由于某种原因,我的控制器执行第一个请求以获取数据,然后尝试执行下一组的请求,但它没有工作。

4

1 回答 1

0

像下面这样的东西应该可以工作。

var WebApi = $resource('http://api.domain.com/');
$scope.action   = 'initial action for first page goes here';
$scope.pageSize = 10;
$scope.offset   = 0;
$scope.loadPage = function() {
    var serverData = WebApi.get( 
        {action: $scope.action, pageSize: $scope.pageSize, offset: $scope.offset}, 
        // calls http://api.domain.com/?action=<action>&pageSize=<pageSize>&offset=<offset>
        function() {
            // page data is in serverData.results
            $scope.model = serverData.results;
            // update $scope properties for next page: action, pageSize, offset
            $scope.action = ...
            ...
        }
    )
}
于 2012-11-29T21:25:08.583 回答