首页 > web前端 > js教程 > 如何使用 API 中的数据动态填充 HTML

如何使用 API 中的数据动态填充 HTML

Mary-Kate Olsen
发布: 2025-01-17 00:29:08
原创
647 人浏览过

本教程演示如何使用 JavaScript 的 fetch() 方法从 Harry Potter 角色 API 获取和显示数据。 我们将构建一个动态填充角色信息的网页。

首先,我们定位将显示字符数据的 HTML 元素:

<code class="language-javascript">const charsSection = document.getElementById('chars-container');</code>
登录后复制

接下来,我们定义 API URL 和异步函数来检索和过滤数据:

<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>
登录后复制

getChars() 函数获取数据,将其转换为 JSON,并过滤结果以仅包含具有关联图像的人物角色。 此过滤解决了潜在的 API 不完整性问题。

使用此异步函数填充网页:

<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>
登录后复制

这个buildPage()函数迭代过滤后的角色数据并动态创建HTML元素(角色卡)来显示角色的图像、姓名、祖先、霍格沃茨学院和男演员/女演员。 innerHTMLcharsSection 已更新以显示这些卡片。 因为 getChars() 是异步的,所以 buildPage() 也必须是异步的,并且 awaitgetChars() 的结果。

下图显示了填充的网页的示例。 为简洁起见,省略了样式详细信息,但完整的项目代码可在 [项目链接] 中找到。

How to Populate HTML Dynamically with Data from An API

此示例展示了使用 API 数据的动态网页填充。 感谢反馈和分享!

链接

正在实施的项目

项目仓库

MDN Web 文档“Web API 简介”

最初于 2022 年 11 月 14 日以简单英语发布于 Medium for JavaScript

以上是如何使用 API 中的数据动态填充 HTML的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板