@leo_fr

AngularJs $http ng-repeat json?

Доброе время суток у меня возникла проблема с выводом через директиву ng-repeat данных в виде таблицы.
Html
<table class="table">
                            <caption></caption>
                            <thead>
                            <tr>
                                <th>№</th>
                                <th>Name</th>
                                <th>Age</th>
                                <th>Actions</th>
                            </tr>
                            </thead>
                            <tbody>
                            <tr ng-repeat="item in items">
                                <!--<td>{{user.id}}</td>-->
                                <td>{{item.name}}</td>
                                <td>{{item.age}}</td>
                                <td>
                                    <div class="btn-group" role="group">
                                        <button class="btn btn-primary btn-sm" ng-click="eEdit(item)"><i
                                                class="fa fa-pencil-square-o"></i> Edit
                                        </button>
                                        <button type="button" class="btn btn-danger btn-sm" ng-click="eDelete(item)"><i
                                                class="fa fa-trash-o fa-sm"></i> Delete
                                        </button>
                                    </div>
                                </td>
                            </tr>
                            </tbody>
                        </table>

controller.js
'use strict';

angular.module('prApp')
    .controller('efKpPdController', ['$scope', '$http',  function ($scope, $http ) {
        $http.defaults.headers.common['Content-Type'] = 'application/json; charset=utf-8';
        $http.defaults.headers.common['Accept'] = 'application/json; charset=utf-8';

        $http.post('http://symfonyapi.dev/web/app.php/show')
            .success(function(data){
                var items = data.items;

                $scope.items = data.items;
                console.log('success');
                console.log(data);
            })
            .error(function(data){
               console.log('error')
            });
    }]);

Массив такого вида получаю 86fbaf0092024096a5f86995573bfdb8.png
Скрин от файр бага я не могу понять почему он не присваивает значение
af80404d99284062aa61dfed5cb5f9c2.png
Так же обратил внимание, что происходит дублирование данных, Спасибо за помощь.
  • Вопрос задан
  • 245 просмотров
Пригласить эксперта
Ответы на вопрос 2
@lega
У вас в 8 и 9 строке последнего скрина подсказка, data = [object, object]
Видимо нужно так: 11) $scope.items = data;
Ответ написан
Комментировать
DigitalSmile
@DigitalSmile
http://brainstorage.me/digitalsmile
var items = data.items;
$scope.items = data.items;


У Вас data и есть массив, никакого items там нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы