2015-08-28 2 views
2

У меня возникла проблема с получением результатов с моего сервера 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; 
     }); 
    } 
}); 

В чем проблема?

Спасибо!

+0

Должен работать ... можете ли вы опубликовать, что такое «ответ»? – tymeJV

+1

.success устарел, используйте тогда. Кроме того, вы считали, что ваши звонки асинхронны? – Sphaso

+0

Я обычно инициализирую $ scope.orders как пустой массив прямо под $ scope.message, потому что иногда он кажется угловым, делает предположения о вещах, которые еще не объявлены объектом области в таких случаях. Наверное, стоит попробовать? –

ответ

0

Похоже, вы использовали ngRoute и у вас есть href="#" в вашем якоре, который ведет вас переназначение на пустую страницу, сохранить href="" поможет вам в css, чтобы показать pointer: cursor; при наведении на него

<a href="" ng-click="getOrders()">Orders!</a> 
0

Спасибо всем за помощь.

Проблема была связь с точкой зрения ...

<a href="#" ng-click="getOrders()">Orders!</a> 

будет:

<a ng-click="getOrders()">Orders!</a> 
Смежные вопросы