GET данные json из файла php для угловой области

Я пытаюсь получить json-данные из файла php для использования в угловом контроллере. Im json_encode(pg_fetch_assoc($result)); внутри php-файла и когда я console.log($scope.contents); в угловом контроллере он возвращает данные json, но он возвращается пустым, когда я пытаюсь выполнить ng-repeat

controllers.js :

 myApp.controller('ContentCtrl', function ($scope, $http) { $http({method: 'GET', url: 'content.php'}).success(function(data) { $scope.contents = data; }); }); 

content.php :

 <?php require_once("sdb.php"); $result = pg_query($dbconn, "SELECT * FROM content ORDER BY name ASC"); echo json_encode(pg_fetch_assoc($result)); 

index.php :

 <!DOCTYPE html> <html lang="en"> <head> <link rel="stylesheet" href="css/style.css"/> </head> <body ng-app="myApp"> <div ng-controller="ContentCtrl"> <ul> <li ng-repeat="content in contents"> <a href="#">{{content.name}}</a> </li> </ul> </div> </body> <script src="js/jquery-1.10.2.js"></script> <script src="js/angular.min.js"></script> <script src="js/controllers.js"></script> </html> 

Related of "GET данные json из файла php для угловой области"

Вы действительно хотите отправить данные как JSON. Для этого вам просто нужно добавить header('Content-Type: application/json'); перед выражением echo . Таким образом content.php становится:

 <?php require_once("sdb.php"); $result = pg_query($dbconn, "SELECT * FROM content ORDER BY name ASC"); header('Content-Type: application/json'); echo json_encode(pg_fetch_assoc($result)); 

В стороне, есть несколько вещей, которые вы можете сделать с вашим контроллером. Я бы это изменил:

 myApp.controller('ContentCtrl', function ($scope, $http) { $http({method: 'GET', url: 'content.php'}).success(function(data) { $scope.contents = data; }); }); 

к этому:

 myApp.controller('ContentCtrl', ['$scope', '$http', function ($scope, $http) { $http.get('content.php') .success(function(data) { $scope.contents = data; }); }]); 

Дополнительный '$scope', '$http', прежде чем определение функции позволяет вам минимизировать в будущем, а .get – это только личное предпочтение, но я думаю, что его чище читать.