Метод $ http.get в angularjs для отдыха Api

0

Я хочу получить список друзей для REST-API в таблицу, используя метод $ http.get в angularjs. См. ДЕМО. Я не могу загрузить данные JSON, когда я нажимаю кнопку.

JSON.data

{
    "friends": [
        {
            "FirstName": "John",
            "LastName": "Doe"
        },
        {
            "FirstName": "Ann",
            "LastName": "Wellington"
        },
        {
            "FirstName": "Sabrina",
            "LastName": "Burke"
        }
    ]
}

Index.html

   <body ng-app="step4App">
        <div ng-controller="FriendsCtrl">
             <button ng-click="loadFriends()">Load Friends</button>
             <table>
                  <thead>
                     <tr><th>First</th><th>Last</th></tr>
                  </thead>
                  <tbody>
                     <tr ng-repeat="friend in friends">
                          <td>{{friend.FirstName}}</td>
                          <td>{{friend.LastName}}</td>
                     </tr>
                  </tbody>
             </table>

        </div>
        <script>
             var app=angular.module("step4App",[]);
             app.controller("FriendsCtrl", function($scope, $http){
                 $scope.loadFriends=function(){
                     $http.get("friendsList.json").success(function(data){
                          $scope.friends=data;
                     }).error(function(){
                          alert("An unexpected error occured!");
                     });
                 }
             });
        </script>
   </body>
Теги:
rest

1 ответ

2
Лучший ответ

У вашего JSON файла есть объект, а $scope.friends - массив.

Вам нужно изменить это:

$scope.friends=data;

чтобы:

$scope.friends = data.friends;

DEMO

  • 0
    Спасибо за ответ. Это работает, я всегда путал, когда такая ситуация возникает, не могли бы вы объяснить больше об этом .......
  • 0
    Что вы подразумеваете под «больше»?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню