2015-04-02 41 views
1

我知道這個問題已經被問了很多次。我有這樣的錯誤:RestAngular與getList糾結

Response for getList SHOULD be an array and not an object or something else 

的問題是,我的反應是一個數組

[{"id":1,"token":"HOME","traductions":[{"id":1,"value":"accueil","langue":{"id":1,"langue":"fran\u00e7ais","locales":"fr_FR"}},{"id":2,"value":"home","langue":{"id":2,"langue":"anglais","locales":"en_EN"}}]},{"id":2,"token":"CONTACT","traductions":[{"id":3,"value":"contact","langue":{"id":1,"langue":"fran\u00e7ais","locales":"fr_FR"}}]}] 

這裏是我的簡單的控制器

traduction.controller('traductionController', ['$scope', 'Restangular', function($scope, Restangular) { 

    var containers = Restangular.all('intranetBS/web/app_dev.php/interne/traductions'); // correct route, checked it 

    containers.getList().then(function(stuff) { 
     $scope.containers = stuff; 
    }); 

}]); 

任何解決方案? 非常感謝!

+0

您確定這是您實際執行該冗餘代碼時收到的響應,而不是在控制檯中手動測試端點嗎?最後一次,我得到這個錯誤,這是因爲restangular得到錯誤的HTML頁面,而不是JSON(或類似的東西。肯定沒有得到預期的JSON) – 2015-04-02 11:08:46

+0

[Response for getList應該是一個數組而不是一個對象或東西其他在restangular](http://stackoverflow.com/questions/22681370/response-for-getlist-should-be-an-array-and-not-an-object-or-something-else-in-r) – DTing 2015-04-02 11:10:56

+0

@DTing:不確定這兩個是否真的重複。這個響應*是一個數組。 – 2015-04-02 11:15:40

回答

1
.config(function(RestangularProvider){ 
    RestangularProvider.setBaseUrl('/api'); 
    RestangularProvider.addResponseInterceptor(function(data, operation, what, url, response, deferred) { 
     var extractedData; 
     if (operation === "getList") { 
     extractedData = data.traductions; 
     } else { 
     extractedData = data; 
     } 
     return extractedData; 
    }); 
})