Я новачок, використовуючи AngularJS, і я маю проблему розбору відповіді json. Це HTML-код, який я використовую:
<!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>
І це код Javascript, використовуючи 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 показує змінну $ scope.відповідь із поверненням JSON сервером, але він не показує нічого у списку зверху. JSON відмінно відформатовано, однак змінна $ scope.cars здається завжди порожньою.
Що я роблю неправильно?
Велике дякую,
GA
Відповіді:
13 за відповідь № 1$ http.get розібратиме json для вас. Вам не потрібно самостійно розбирати його.
$scope.cars = data.allCars;
3 для відповіді № 2
Просто проаналізуйте ваші дані
function (response,httpStatus) {
alert("response" + angular.toJson(response));
}
Вбудована функція angularjs
.