2015-10-14 26 views
1

問題 當從我的RESTful接口(Apigility)請求第3頁的頁面2中分頁的HAL json時,總是返回頁面1的結果。

我的服務器上有一個RESTful api,它將HAL json返回給一個angularjs單頁面應用程序(SPA)。

在頁面上我已經實現了angular-ui bootstrap paginator。這是相關的代碼;

<pagination direction-links="false" boundary-links="true" total-items="FooCtrl.totalItems" items-per-page="Footrl.itemsPerPage" ng-model="Foo.currentPage" ng-change="Foo.changePage()"></pagination> 

SPA與控制器通信,看起來像;

angular.module('FooApp') 
.controller('FooCtrl', ['$scope', 'FooApi', function($scope, FooApi) { 

    var self     = this; 

    // Holds HalJson for use in pagination 
    var halJson     = {}; 
    self.currentPage; 
    self.numPages; 
    self.totalItems; 
    self.itemsPerPage   = 25; 


    // List of pools that have already been created 
    self.foos     = []; 
    getData(); 


    self.changePage    = function() { 

     getData(); 

    } 



    function getData() { 

     return FooApi.query({"pageNumber": self.currentPage}).$promise 
      .then(function(_json) { 

       processJson(_json); 

      }); 

    } 



    function processJson(halJson) { 

     self.foos    = halJson._embedded.foos; 
     self.currentPage  = halJson.page; 
     self.numPages   = halJson.page_count; 
     self.totalItems   = halJson.total_items; 

    } 


}]); 

控制器從服務器請求數據,看起來像;

angular.module('FooApp') 
.factory('FooApi', ['$resource', function($resource) { 

    var self     = this; 
    var url      = "www.someurl/foo/:foo_id"; 

    return $resource(url,{"foo_id":"@foo_id"}, 
    { 
     'query':{ 
      method:  'GET', 
      isArray: false, 
     }, 
     'update':{ 
      method:  'PATCH', 
      isArray: false, 
     } 
    }); 

}]); 

我曾嘗試通過郵遞員手動點擊頁面2,並返回預期結果。

我已經在控制器的getData()函數呼應了當前頁變量,只是讓一臺服務器請求之前,它肯定是設置爲2

任何想法?

+0

$ resource param與傳遞給查詢的參數不匹配。看看開發工具網絡中使用的實際url – charlietfl

回答

相關問題