Fetch API 및 DOM 조작을 사용하여 견적 생성 애플리케이션 만들기.
JavaScript는 매우 동적인 웹 언어이며 그 뛰어난 특성 중 하나는 프런트 엔드 개발자가 API 엔드포인트를 사용하는 데 도움이 된다는 것입니다. 이 기사에서는 공개 API를 기반으로 간단한 견적 생성 애플리케이션을 만들 것입니다. API 링크는 [ https://type.fit/api/quotes ]입니다. 탐색하여 속성을 이해할 수 있습니다.
데이터의 외부 수준은 특정 작성자 및 인용 속성을 가진 다른 개체를 포함하는 배열 내에 중첩된 개체임을 알 수 있습니다.
앱은 다음 개념을 사용합니다.
프로젝트를 저장할 빈 폴더를 만듭니다.
폴더에는 index.js 파일과 index.html 파일이 있어야 합니다. 작은 응용 프로그램에 사용자 지정 스타일을 추가하려는 경우 style.css를 가질 수도 있습니다.
다음 코드 블록을 추가하여 가져오기 요청을 만듭니다.
fetch ('https://type.fit/api/quotes')
.then(res=>res.json())
.then(data=>{data.forEach(quoteObject => {.then(data=>{data.forEach(quoteObject => {
const quoteList = document.getElementById('quote-list');
const quoteEl = document.createElement('li');
const spanAuthor = document.createElement('p');
quoteEl.innerText = `${quoteObject.text}`;
spanAuthor.innerText = `${quoteObject.author}`;
spanAuthor.className = 'quote-span';
quoteEl.appendChild(spanAuthor);
quoteList.appendChild(quoteEl);
})
})
}
코드 블록은 호출 요청을 한 다음 DOM 조작을 수행하여 페이지에 모든 인용문과 작성자를 표시합니다.
모든 인용문을 표시한 후 인용문과 저자를 무작위로 표시할 수 있습니다.
Math.floor(Math.random()을 적용해야 합니다.
*data.length) 메서드를 사용하여 배열에서 무작위로 견적을 가져옵니다.
그런 다음 DOM 조작을 사용하여 해당 인용문과 저자를 html로 전달합니다.
document.getElementById('new-quote').addEventListener('click', function (e){
fetch('https://type.fit/api/quotes')
.then(response=>response.json())
.then (data => {
const randomQuoteIndex = Math.floor(Math.random() * data.length);
const quoteText = data[randomQuoteIndex].text;
let author = data[randomQuoteIndex].author;
quoteEl.textContent = quoteText;
quoteAuthorEl.textContent = author;
}
)
CRUD 작업.
CRUD는 저장된 데이터 개체에 대한 생성, 읽기, 업데이트 및 삭제 작업의 약어입니다.
CRUD는 응용 프로그램이 수행할 수 있어야 하는 기본 작업이라고도 합니다.
업데이트는 PUT, POST 및 PATCH 동사를 사용합니다.
다음 부분에서는 이제 프로젝트 폴더 내에 db.json 파일을 생성합니다.
그런 다음 json에 새 따옴표를 게시하기 위해 다음 코드 블록을 추가합니다.
코드를 작성하기 전에 명령
json-server --watch db.json
을 사용하여 서버가 실행 중인지 확인하십시오.그런 다음 다음 헤더를 추가하여 POST 요청을 만듭니다.
아래 코드는 json 서버에 대한 새 견적 및 작성자 게시물을 생성합니다.
const post = {inputQuote, inputAuthor}
const configurationObject = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify(post),
}
fetch(url, configurationObject)
.then(res=>res.json())
.then(results=>
console.log("successful addition"))
e.target.reset()
})
다음 코드 블록을 사용하여 json 파일에서 레코드를 삭제할 수 있습니다.
function deleteQuote(){
document.getElementById('delete-form').addEventListener('submit', function(){
const id = document.getElementById('id').value;
fetch('http://localhost:3000/quotes/' + id, {
method: 'DELETE',
})
.then(res => res.json()) // or res.json()
.then(res => console.log(res))
})
}
아래는 전체 프로젝트 코드가 있는 저장소 링크입니다.
[ https://github.com/cesarWrites/phase-1-project ]
Reference
이 문제에 관하여(Fetch API 및 DOM 조작을 사용하여 견적 생성 애플리케이션 만들기.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cesarwrites/creating-a-quote-generating-application-using-the-fetch-api-and-dom-manipulation-3090텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)