Ajax를 쓰지않고 바닐라 자바스크립트로 백엔드에 API 요청을 보낼 수 있다 Show ✔️ API 요청 보내기api 통신을 하는 function이라면 앞에 async를 붙이면 이 function은 비동기 통신이라고 선언이 된다 참고 - https://github.com/bradtraversy/vanillawebprojects 사용한 API 사이트 https://www.themealdb.com/ TheMealDB.com www.themealdb.com API 호출 개념 참고 https://www.daleseo.com/js-window-fetch/ [자바스크립트] fetch() 함수로 API 호출하기 Engineering Blog by Dale Seo www.daleseo.com 결과 화면코드API 사이트에서 Lookup full meal details by id List all meal categories Filter by Category 이러한 API들을 사용했다. 차례대로 아이디에 따라 음식 보여주고 랜덤한 음식 하나를 보여주고 모든 음식 카테고리를 보여주고 카테고리에 따른 음식을 보여주는 API이다. 특정 음식을 검색하고 fetch를 통해 받아온 특정 음식의 데이터를 콘솔창에 출력해보면 이렇게 오브젝트가 나온다. 오브젝트의 value는 음식으로 이루어진 배열이고 각각의 요소는 음식의 특징들이 담긴 오브젝트이다. 여기서 음식의 이름, 이미지, 아이디 등의 값들을 가져와 innerHTML로 html에 추가해서 화면에 띄운다. 음식을 클릭했을 때 event.path를 사용해 클릭한 노드의 이벤트 흐름을 따라 ID를 찾아 그 ID에 맞는 음식 정보 화면을 띄운다. 음식 종류에 따라 띄우는 것, 랜덤한 음식 하나를 띄우는 것 모두 같은 로직으로 작성한다.
노마드코더, 드림코딩에서도 잠깐 fetch를 사용해봤지만 이번에야말로 제대로 활용하여 연습할 수 있었다. 가져온 데이터가 어떤 타입이고 어떤 요소들이 있는지 잘 분석해서 적절하게 사용하는게 중요한듯 하다. |