OBTENIR des données json à partir d'un fichier php pour une portée Angulaire
Je vais essayer d'obtenir des données json à partir d'un fichier php à utiliser dans Angulaire du contrôleur. Im faisant écho à json_encode(pg_fetch_assoc($result));
dans le fichier php et quand je console.log($scope.contents);
dans l'angle de contrôleur, il ramène les données json, mais il s'agit de revenir à vide lorsque j'essaie de faire un 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>
OriginalL'auteur Michael Wilson | 2014-07-31
Vous devez vous connecter pour publier un commentaire.
Vous aurez envie d'envoyer les données en JSON. Pour ce faire, vous avez juste besoin d'ajouter
header('Content-Type: application/json');
avant votreecho
déclaration. Donc content.php devient:Comme un de côté, il ya quelques choses que vous pouvez faire avec votre contrôleur. Je voudrais changer cela:
:
Supplémentaires
'$scope', '$http',
avant la définition de la fonction vous permet de rapetisser dans l'avenir, et la.get
est juste une préférence personnelle, mais je pense que c'est un nettoyant pour le lire.OriginalL'auteur kiswa