Ce didacticiel montre comment récupérer et afficher des données à partir d'une API de personnage Harry Potter à l'aide de la méthode fetch()
de JavaScript. Nous allons créer une page Web remplie dynamiquement avec des informations sur les personnages.
Tout d'abord, nous ciblons l'élément HTML où les données de caractères seront affichées :
<code class="language-javascript">const charsSection = document.getElementById('chars-container');</code>
Ensuite, nous définissons l'URL de l'API et une fonction asynchrone pour récupérer et filtrer les données :
<code class="language-javascript">const charsURL = 'https://hp-api.herokuapp.com/api/characters'; async function getChars() { const response = await fetch(charsURL); const allCharsArr = await response.json(); let newCharsArr = []; for (let i = 0; i < allCharsArr.length; i++) { if (allCharsArr[i].image.length > 0 && allCharsArr[i].species === 'human') { newCharsArr.push(allCharsArr[i]); } } return newCharsArr; }</code>
La fonction getChars()
récupère les données, les convertit en JSON et filtre les résultats pour inclure uniquement les caractères humains avec les images associées. Ce filtrage corrige le caractère incomplet potentiel de l'API.
La page Web est remplie à l'aide de cette fonction asynchrone :
<code class="language-javascript">async function buildPage() { const newCharsArr = await getChars(); for (let i = 0; i < newCharsArr.length; i++) { // ... (HTML card creation logic here) ... } }</code>
Cette buildPage()
fonction parcourt les données filtrées du personnage et crée dynamiquement des éléments HTML (cartes de personnage) pour afficher l'image, le nom, l'ascendance, la maison de Poudlard et l'acteur/actrice du personnage. Le innerHTML
de charsSection
est mis à jour pour afficher ces cartes. Parce que getChars()
est asynchrone, buildPage()
doit aussi être asynchrone et await
le résultat de getChars()
.
L'image suivante montre un échantillon de la page Web remplie. Les détails de style sont omis par souci de concision, mais le code complet du projet est disponible sur [lien vers le projet].
Cet exemple présente le remplissage dynamique de pages Web à l'aide de données API. Les commentaires et le partage sont appréciés !
Projet en action
Repo du projet
MDN Web Docs « Introduction aux API Web »
Publié à l'origine sur Medium for JavaScript en anglais simple le 14 novembre 2022
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!