Problems parsing a JSON response using AngularJS
46,513
Solution 1
$http.get will parse the json for you. You do not need to parse it yourself.
$scope.cars = data.allCars;
Solution 2
Just parse your data like that
function (response,httpStatus) {
alert('response' + angular.toJson(response));
}
It is built-in feature of angularjs
.
Author by
G A
Updated on November 18, 2020Comments
-
G A over 3 years
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