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:
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 № 1Changer 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