5

Jestem nowy przy użyciu AngularJS i mam problem z analizą odpowiedzi json. Jest to kod HTML używam:Problemy z analizą odpowiedzi JSON przy użyciu AngularJS

<!DOCTYPE html> 
<html ng-app> 
<head> 
    <script src="@routes.Assets.at("javascripts/angular.min.js")" type="text/javascript"</script> 
    <script src="@routes.Assets.at("javascripts/carLibrary.js")" type="text/javascript"></script> 
</head> 
<body> 

<div ng-controller="CarCtrl"> 
    <ul> 
     <li ng-repeat="car in cars"> 
      {{car.name}} 
      <p>{{car.speed}}</p> 
     </li> 
    </ul> 
    <hr> 
    <p>{{response}}</p> 
</div> 
</body> 
</html> 

I to jest kod Javascript użyciu angularjs:

function CarCtrl($scope, $http) { 

    $scope.getAllCars = function() { 
     $scope.url = 'getAllCars'; 

     $http.get($scope.url).success(function (data, status) { 
      $scope.response = data; 
      var carsFromServer = JSON.parse(data); 
      $scope.cars = carsFromServer.allCars; 
     }).error(function (data, status) { 
       $scope.response = 'Request failed'; 
      }); 
    } 

    $scope.getAllCars(); 
} 

HTML pokazuje zmienną $ scope.response z JSON zwrócony przez serwer, ale nie pokazuje niczego na liście u góry. JSON jest doskonale sformatowany, jednak zmienna $ scope.cars wydaje się być zawsze pusta.

Co robię źle?

Dziękujemy,

GA

+0

Czy możesz pokazać przykład JSON, który otrzymujesz? – mael

Odpowiedz

13

$ http.get będzie analizować JSON dla Ciebie. Nie musisz sam tego analizować.

$scope.cars = data.allCars; 
+0

Geniusz! Dziękuję Ci! –

3

Wystarczy przeanalizować dane jak ten

function (response,httpStatus) {  
       alert('response' + angular.toJson(response));     
     } 

Jest on wbudowany cechą angularjs.

Powiązane problemy