ホームページ > ウェブフロントエンド > jsチュートリアル > API からのデータを HTML に動的に入力する方法

API からのデータを HTML に動的に入力する方法

Mary-Kate Olsen
リリース: 2025-01-17 00:29:08
オリジナル
646 人が閲覧しました

このチュートリアルでは、JavaScript の fetch() メソッドを使用してハリー・ポッターのキャラクター API からデータを取得して表示する方法を説明します。 文字情報が動的に入力される Web ページを構築します。

まず、文字データが表示される 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 の不完全性に対処します。

Web ページは、次の非同期関数を使用して設定されます:

<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() の結果である必要があります。

次の画像は、入力された Web ページのサンプルを示しています。 簡潔にするためにスタイルの詳細は省略されていますが、完全なプロジェクト コードは [プロジェクトへのリンク] で入手できます。

How to Populate HTML Dynamically with Data from An API

この例では、API データを使用した動的な Web ページの作成を示します。 フィードバックと共有をお待ちしております!

リンク

プロジェクト進行中

プロジェクト リポジトリ

MDN Web ドキュメント「Web API の概要」

元々は、2022 年 11 月 14 日に Plain English で Medium for JavaScript に公開されました

以上がAPI からのデータを HTML に動的に入力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート