> 웹 프론트엔드 > JS 튜토리얼 > API의 데이터로 HTML을 동적으로 채우는 방법

API의 데이터로 HTML을 동적으로 채우는 방법

Mary-Kate Olsen
풀어 주다: 2025-01-17 00:29:08
원래의
646명이 탐색했습니다.

이 튜토리얼에서는 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()도 비동기식이어야 하며 await getChars()의 결과여야 합니다.

다음 이미지는 채워진 웹페이지의 샘플을 보여줍니다. 간결함을 위해 스타일링 세부 사항은 생략되었으며, 전체 프로젝트 코드는 [프로젝트 링크]에서 확인하실 수 있습니다.

How to Populate HTML Dynamically with Data from An API

이 예는 API 데이터를 사용한 동적 웹페이지 채우기를 보여줍니다. 피드백과 공유에 감사드립니다!

링크

프로젝트 진행 중

프로젝트 저장소

MDN 웹 문서 '웹 API 소개'

원본은 2022년 11월 14일 일반 영어로 Medium for JavaScript에 게시되었습니다.

위 내용은 API의 데이터로 HTML을 동적으로 채우는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿