I am new using AngularJS and I am having an issue parsing a json response. This is the HTML code I am using:
<!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>
And this is the Javascript code using 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();
}
The HTML is showing the variable $scope.response with the JSON returned by the server, but it is not showing anything in the list at the top. The JSON is perfectly formatted, however $scope.cars variable seems to be always empty.
What am I doing wrong?
Many thanks,
GA
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…