Partage
  • Partager sur Facebook
  • Partager sur Twitter

Boucle for pour récuperer les valeurs d'une API

    22 novembre 2021 à 21:35:03

    Bonsoir !

    Je rencontre un problème avec mon code et j'ai besoin de vous ^^

    Pour l'université on nous demande de créer un site avec une API, j'ai donc commencé et reussi a récupérer les première valeur et je me rend compte que j'ai besoin de faire une boucle (allant jusque 10 par exemple) puis récuperer toutes les valeur et le mettre dans un <ul>

    Le problème est que j'arrive bien a récuperer tout les valeurs mais une fois dans le <ul> il me recupere seulement une valeur aléatoire mais UNE seule..

    Je vous poste une parti du code pour mieux comprendre

    var endPoint = 'https://pokeapi.co/api/v2/pokemon/';

    Donc ça c'est mon API ou je veux récuperer les infos

     for (var i = 1; i < 10; i++) {
                ajaxGet(endPoint + i, function (reponse) {
                    var contenu;
                    var information = JSON.parse(reponse);
                    contenu = '<ul>';
                    contenu += '<li>' + information.name + '</li>';
                    contenu += '<li>' + information.types[0].type.name + '</li>';
                    ContenuName.innerHTML = contenu;
                    console.log(contenu);
                });
            }

    Et donc la je faire mon for qui me recupère bien toute les information (visible grace au console.log) mais je ne récupere que une seule valeur qui est aléatoire 

    ContenuName est bien déclaré au dessus comme il faut

    <li>
                                <p id="resultName" class="mr-16 text-xl">Les informations arrivent..</p>
                            </li>
     var ContenuName = document.getElementById('resultName');

    Je sais pas si vous avez bien tout compris, je me ferai un plaisir de vous fournir plus de detail si jamais.

    Merci d'avance et bonne soirée !





    • Partager sur Facebook
    • Partager sur Twitter
      23 novembre 2021 à 11:34:48

      Bonjour à chaque fois que tu reçoit une réponse de requête tu fait un:

      ContenuName.innerHTML = contenu;

      Ce qui écrase le contenue précédent avec le contenue de la nouvelle requête, c'est pour ça que tu n'as qu'une seule entrée lorsque que les requêtes sont terminées, en principe tu devrait toujours avoir le dernier élément en pratique ici cela dépend de l'ordre dans le quel se résout les requêtes réseaux, ce qui donnent ce "pseudo aléatoire".

      Je pense que la façon la plus simple et la plus rapide de réglé le problème et d'ajouté en amont le contenue (sans écrasé le contenue déjà existant) via:

      ContenuName.innerHTML += contenu;




      -
      Edité par SamuelGaborieau3 23 novembre 2021 à 11:37:32

      • Partager sur Facebook
      • Partager sur Twitter

      suggestion de présentation.

      Boucle for pour récuperer les valeurs d'une API

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown