Получение JSON с AngularJS из PHP не отображается на контроллере

Я пытаюсь создать front-end на основе AngularJS для базового приложения PHP. Я создаю объект JSON с запросом PHP и MySQL. JSON экспортируется правильно, и данные отображаются, если я использую встроенный объект с директивой ng-init . Но когда я монтирую файл Json.php на контроллере, что-то кажется неправильным, потому что я не вижу никаких данных.

Это ссылка на пример. Здесь контроллер находится под </body> .

Это главная страница

 <html ng-app="myApp"> <head> <title></title> </head> <body> <div style="direction: ltr"> </div> <h1>תוצאות שאלון</h1> <div class="table-responsive" ng-controller="ContentCtrl"> <table class="table" id="results" > <thead> <tr> <th>id</th> <th>q1</th> <th>q2</th> <th>q3</th> <th>textarea</th> <th>phone</th> <th>name</th> </tr> </thead> <tbody> <tr ng-repeat="answer in answers.data"> <td>{{answer.id}}</td> <td>{{answer.q1}}</td> <td>{{answer.q2}}</td> <td>{{answer.q3}}</td> <td>{{answer.textarea}}</td> <td>{{answer.phone}}</td> <td>{{answer.name}}</td> </tr> <?php/* $table = new Results(); $table->allrows(); */?> </tbody> </table> </div> <script src="http://code.jquery.com/jquery.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> <script type="text/javascript" src="js/js.js"></script> <!--<script src="js/controllers.js"></script>--> <script type="text/javascript"> 

это контроллер:

  var myApp = angular.module('myApp', []); myApp.controller('ContentCtrl', ['$scope', '$http', function ($scope, $http) { $http.get('json.php') .success(function(data) { $scope.answers = data; console.log('test'); }); }]); 

Может быть, модуль должен быть на другой странице? Я задал этот вопрос раньше. Может быть, это может помочь.

JSON, на который отвечает ваш json.php файл, – это всего лишь массив объектов. Но ваш ng-repeat выполняет итерацию по answers.data , которая не определена. Вы должны перебирать answers так как это массив.

 <tr ng-repeat="answer in answers"> 

Если по какой-то причине вы не хотите изменять ng-repeat , вы можете изменить свой контроллер, чтобы он обертывал data в виде объекта следующим образом:

 $scope.answers = { data: data };