2017-10-21 244 views
0

Je rencontre un problème lors de l'affichage d'une réponse JSON sur une page web en utilisant Angularjs, sur DevTools je peux voir que la requête GET fonctionne bien et peut saisir toutes les données, mais quand il s'agit sur une liste tout ce que j'ai obtenu est des points.La réponse JSON ne s'affiche pas sur la vue avec Angularjs

Mon contrôleur:

budgetApp.controller('DepensesListCtrl', ['$scope', '$http', 
     function DepensesListCtrl($scope, $http) { 
      $scope.depenses = []; 

      $http.get('http://localhost:3000/api/depenses', {withCredentials: true}).success(function(data) { 
       $scope.depenses = data; 
      }); 

utilisant ng-repeat:

<div > 
    <div class="jumbotron text-center"> 
      <h1>depenses Page</h1> 
    </div> 
    <ul ng-repeat="depense in depenses"> 
     <li>{{depense.depname}}</li> 
     <li>{{depense.depcat}} </li> 
    </ul> 

Résultat: enter image description here

Réponse JSON: enter image description here

J'ai essayé debug avec des alertes, je me suis dit que mon tableau de depenses AllWays donner non défini

Répondre

1

Vos données est un objet qui a une propriété Depense qui contient le tableau que vous voulez répéter

Essayez:

$http.get('http://localhost:3000/api/depenses', {withCredentials: true}).success(function(data) { 
     $scope.depenses = data.Depense; 
          // ^^^ property that contains array 
}); 

OU:

<ul ng-repeat="depense in depenses.Depense"> 
0

console "données" du bloc de réussite et vérifiez quelle clé possède le tableau dont vous avez besoin. Puis lier cette data.key à vos dépendances.

+0

Utilisez: $ scope.depenses = data.Depense; pour le premier objet, vous obtiendrez depense.depcat indéfini et pour le second objet vous obtiendrez depense.depname comme indéfini. Corrigez-moi si je me trompe. – theSOer

+0

@Justforfun est-il le JSON complet que vous avez posté. – theSOer