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 に答える