fetch 함수로 html 문서 로드하기
fetch 함수는
1. XMLHttpRequest 객체와 마찬가지로 HTTP 요청 전송 기능을 제공하는 클라이언트 사이드 Web API 다.
2. XMLHttpRequest 객체보다 사용법이 간단하고 프로미스를 지원하기 때문에 비동기 처리를 위한 콜백 패턴의 단점에서 자유롭다.
3. 비교적 최근에 추가된 Web API로서 인터넷 익스플로러를 제외한 대부분의 모던 브라우저에서 제공한다.
4. fetch 함수에는 HTTP 요청을 전송할 URL과 HTTP 요청 메서드, HTTP 요청 헤더, 페이로드 등을 설정한 객체를 전달한다.
Fetch API : https://developer.mozilla.org/ko/docs/Web/API/Fetch_API
Fetch API - Web API | MDN
Fetch API는 네트워크 통신을 포함한 리소스 취득을 위한 인터페이스가 정의되어 있습니다. XMLHttpRequest와 같은 비슷한 API가 존재합니다만, 새로운 Fetch API는 좀더 강력하고 유연한 조작이 가능
developer.mozilla.org
Using Fetch : https://developer.mozilla.org/ko/docs/Web/API/Fetch_API/Using_Fetch
Using Fetch - Web API | MDN
Fetch API를 이용하면 Request나 Response와 같은 HTTP의 파이프라인을 구성하는 요소를 조작하는것이 가능합니다. 또한 fetch() (en-US) 메서드를 이용하는 것으로 비동기 네트워크 통신을 알기쉽게 기술할
developer.mozilla.org
html 문서 로드
fetch 함수로 html 문서를 로드할 때 주의할 점은,
로드된 html 내용이 문자열로 되어 있기 때문에 html 소스 코드로 변환시켜야 한다.
DOMParser 인터페이스는 DOM document 문서에 맞는 XML 및 HTML 소스코드를 해석할 수 있는 기반을 제공한다.
btn.addEventListener('click',function(){
fetch('template.html')
.then(function(response){
response.text().then(function(html){
var html_dom = new DOMParser().parseFromString(html,'text/html');
html_dom = html_dom.body.firstChild;
var body = document.querySelector('body');
body.insertAdjacentElement('beforeend',html_dom);
})
});
});
'프론트엔드 > javascript' 카테고리의 다른 글
배열에서 id 로 object를 찾는 방법 (0) | 2022.03.25 |
---|---|
노드 동적 생성과 DocumentFragment (0) | 2022.02.03 |
collapse toggle(show&hide) vanilla javascript (0) | 2022.01.11 |
CustomEvent 사용 예제 (0) | 2022.01.07 |
유사배열을 배열로 변환 Array.prototype.slice.call() (0) | 2022.01.05 |