Ничего не отображается вместо выражения AngularJS

0

Я пытаюсь получить данные из mysql с помощью php и пытаюсь передать данные в формате json в angularjs, чтобы я мог отображать данные в таблице.

Код HTML:

<body ng-app="myModule">
<div class="row">
        <div class="col-lg-12 text-center">
             <div ng-controller="myController">
              <table class="table">
                <thead>
                    <tr>
                        <th>email</th>
                        <th>id</th>
                        <th>name</th>
                    </tr>
                </thead>
                <tbody>
                    <tr ng-repeat="employee in employees"></tr>
                    <td>{{employee.username}}</td>
                    <td>{{employee.id}}</td>
                    <td>{{employee.name}}</td>
                </tbody>
              </table>
             </div>

        </div>
    </div>
    <!-- /.row -->

</div> 

Код AngularJS:

var app = angular
        .module("myModule", [])
        .controller("myController", function ($scope,$http) {
            $http.post('http://enrolin.in/test/login.php')
                 .then(function(response){
                    $scope.employees=response.data;
                 }); });

Рабочая ссылка php, которая выводит json: http://enrolin.in/test/login.php Рабочая ссылка таблицы: http://enrolin.in/test/

Но когда я пытаюсь загрузить html. Он не загружает данные из базы данных.

Изображение 174551

Я попытался просмотреть его в консоли, похоже, что ng-repeat повторяется 6 раз, это точно количество строк в базе данных, что означает, что данные импортируются, но не отображаются каким-либо образом

  • 1
    Я заметил, что вы отправляете text/html заголовок с этим ответом. Я бы предложил изменить это на application/json . Кроме того, вы пытались поместить console.log в этот обработчик ответа? Вы уверены, что когда-нибудь достигли этой функции? (PS: вы действительно должны публиковать здесь электронные письма и имена?)
  • 0
    Эти электронные письма и имена не являются реальными. Спасибо Певара за ответ. Подскажите, пожалуйста, как мне изменить заголовок на application / json.
Показать ещё 12 комментариев

2 ответа

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

Проблема, кажется, в вашем HTML.

<tr ng-repeat="employee in employees"></tr>
    <td>{{employee.username}}</td>
    <td>{{employee.id}}</td>
    <td>{{employee.name}}</td>

<td> находятся вне <tr>, поэтому {{ employee }} не существует в <td>.

Это должно работать:

<tr ng-repeat="employee in employees">
    <td>{{employee.username}}</td>
    <td>{{employee.id}}</td>
    <td>{{employee.name}}</td>
</tr>
  • 1
    Да, это сработало. Эта небольшая проблема заставляла меня беспокоиться с последних 4 часов. Спасибо Жан :)
4

Это просто глупая ошибка в вашем взгляде (я не могу поверить, что я сначала ее не замечал).

Вы просто повторяете пустые строки:

<tbody>
  <tr ng-repeat="employee in employees"></tr>
  <td>{{employee.username}}</td>
  <td>{{employee.id}}</td>
  <td>{{employee.name}}</td>
</tbody>

Те td очевидно, должны быть внутри повторяющегося ряда:

<tbody>
  <tr ng-repeat="employee in employees">
    <td>{{employee.username}}</td>
    <td>{{employee.id}}</td>
    <td>{{employee.name}}</td>
  </tr>
</tbody>
  • 0
    Да, это сработало. Эта небольшая проблема заставляла меня беспокоиться с последних 4 часов. Спасибо Певара :)

Ещё вопросы

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