У меня возникла проблема с получением результатов с моего сервера api с помощью angularjs.
Это мой код:
home.html (вид)
<div class="jumbotron text-center">
<h1>Home Page</h1>
<p>{{ message }}</p>
<a href="#" ng-click="getOrders()">Orders!</a>
</div>
<ul>
<li ng-repeat="order in orders">{{order}}</li>
</ul>
main.js (контроллер)
app.controller('mainController', function($scope, $http) {
$scope.message = 'Everyone come and see how good I look!';
$scope.orders = [];
$scope.getOrders = function(){
$http.get('http://apidemo.dev/api/orders').success(function(response){
console.log("My data: " + response);
$scope.orders = response;
});
}
});
Когда я нажимаю кнопку, я может видеть результаты в консоли, но не в списке.
Если использовать этот код в контроллере, он работает, когда он загружает, и когда я нажимаю кнопку:
app.controller('mainController', function($scope, $http) {
$scope.message = 'Everyone come and see how good I look!';
$http.get('http://apidemo.dev/api/orders').success(function(response){
console.log("My data: " + response);
$scope.orders = response;
});
$scope.getOrders = function(){
$http.get('http://apidemo.dev/api/orders').success(function(response){
console.log("My data: " + response);
$scope.orders = response;
});
}
});
В чем проблема?
Спасибо!
Должен работать ... можете ли вы опубликовать, что такое «ответ»? – tymeJV
.success устарел, используйте тогда. Кроме того, вы считали, что ваши звонки асинхронны? – Sphaso
Я обычно инициализирую $ scope.orders как пустой массив прямо под $ scope.message, потому что иногда он кажется угловым, делает предположения о вещах, которые еще не объявлены объектом области в таких случаях. Наверное, стоит попробовать? –