/ / Impossible de rendre les résultats JSON en ng-repeat - angularjs, json, angularjs-ng-repeat

Impossible de rendre les résultats JSON dans ng-repeat - angularjs, json, angularjs-ng-repeat

J'essaie de parcourir l 'objet JSON imbriqué renvoyé par la recherche de l' API Spotify REST, mais je ne parviens pas à rendre les résultats.

Au sein de mon contrôleur:

function fetch() {
$http.get("https://api.spotify.com/v1/search?q=" + $scope.search + "&type=artist&limit=50")
.then(function(response) {
console.log(response.data.artists.items);
$scope.details = response.data.artists.items;
});
}

qui renvoie un objet qui ressemble à ceci:entrer la description de l'image ici

J'essaie de parcourir la réponse avec ceci:

<div ng-if="details.response==="True"">
<ul ng-repeat="song in details">
<li>Songs:{{song.name}}</li>
</ul>
</div>

et afficher le external_urls valeur, images urls, ainsi que les name valeur. Cependant, aucun de ceux-ci n'est rendu (pas même le mot Songs qui devrait être affiché, que mes valeurs soient correctes ou non).

Réponses:

1 pour la réponse № 1

Changer la ng-if clause

Faites-le évaluer à un réel boolean cela devient vrai lorsque la réponse contient des données.

Quelque chose comme:

.then(function(response) {
console.log(response.data.artists.items);
$scope.isTheDataLoaded = true;
$scope.details = response.data.artists.items;

Et dans votre html:

<div ng-show="isTheDataLoaded">

0 pour la réponse № 2

Changer votre si condition à

<div ng-if="details">
<ul ng-repeat="song in details">
<li>Songs:{{song.name}}</li>
</ul>
</div>

Parce que les "détails" ne contiennent pas de "réponse". Il vous suffit donc de vérifier si elle existe ou si elle n'est pas vide