Angularjs: Affichage de tableau d'objets

Pour la vie de moi je ne peux pas extraire et imprimer les données dans mon tableau. J'ai généré JSON en PHP et j'ai câblé Angularjs pour récupérer ces données. Le Angularjs outil de développement au sein de Chrome me dit que j'ai une variable "utilisateur" qui est un tableau d'objets (voir ci-dessous) lorsque j'exécute le code. J'ai fait de l'utilisateur un rootScope variable "$rootScope.utilisateur = data;" si je peux obtenir à elle. Je suis un newb donc, rien de tout cela est probablement la meilleure pratique.

{ 
    user : [{"user_id":"1","firstname":"John","lastname":"Doe","email":"[email protected]","age":"29","height":"74.5","weight":"200","gender":"M","birthdate":"2013-12-31","username":"john.doe","hash":"$2a$10$MECYLWuu6AwRxzBF\/CUys.AuqVm7Lf4BYRGezeusvLe6wNTkU3FEy"}]
} 

C'est le ng-repeat - je utiliser sur la même page qui affiche ci-dessus "utilisateur" est à l'intérieur de son champ d'application:

<ul id="biometrics" ng-repeat="info in user">
     <li>Age: {{info.age}}</li>
</ul>

Ce que je fais mal? Peut-être ne suis-je PAS faire de mal. Je suis nouveau sur Angularjs pour dire le moins.


J'ai essayé ce qui a été suggéré, mais en vain. Je veux juste essayer de clarifier mon code/situation juste pour être sûr que je n'ai pas le visser en place. Je crois avoir été clair car c'est aussi mon premier temps à poster sur StackOverflow.

C'est littéralement ce que mon login.php fichier retourne:

[{"user_id":"1","firstname":"John","lastname":"Doe","email":"[email protected]","age":"29","height":"74.5","weight":"200","gender":"M","birthdate":"2013-12-31","photoURL":"john.doe.jpg","username":"john.doe","hash":"$2a$10$MECYLWuu6AwRxzBF/CUys.AuqVm7Lf4BYRGezeusvLe6wNTkU3FEy"}]

C'est ma connexion contrôleur:

app.controller("LoginController", ['$scope', '$rootScope', '$http', '$location', function($scope, $rootScope, $http, $location) {
    $scope.errorMessage = "Wrong password or username";

    $scope.login = function() {

        $http({
            url: "./login.php",
                method: "POST",
                data: { cache: false, username: $scope.username, password: $scope.password },
                headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'} 
            }).success(function(data, status, headers, config) {
                $rootScope.user = data;
                $location.path('/dashboard');
            }).error(function(data, status, headers, config) {
                $scope.statusMessage = status;
                alert($scope.errorMessage);
        });
    }
}]);

C'est à mon avis HTML:

<ul id="biometrics" ng-repeat="info in user">
    <li>Age: {{info}}</li>
</ul>

Je ne reçois rien quand j'essaie cela et j'ai essayé de données.de l'utilisateur et n'ai rien.

Il semble $rootScope.utilisateur = données doivent être $rootScope.user = data.user. Afficher la ng-repeat code de trop?

OriginalL'auteur TheGarden | 2014-01-17