XMLHttpRequest
- XMLHttpRequest(XHR) 객체는 서버와 상호작용하기 위해 사용된다.
- 전체 페이지의 새로고침 없이도 URL로부터 데이터를 받아올 수 있다. 이는 웹페이지가 사용자가 하고 있는 것을 방해하지 않으면서 페이지의 일부를 업데이트할 수 있도록 해준다.
- XMLHttpRequest는 AJAX 프로그래밍에 주로 사용된다.
[MDN XMLHttpRequest] https://developer.mozilla.org/ko/docs/Web/API/XMLHttpRequest
AJAX, Asynchronous JavaScript And XML
- AJAX는 XMLHttpRequest를 활용한 프로그래밍 방식이다.
- AJAX는 전체 페이지가 다시 로드되지 않고 일부분만 업데이트하는 더 복잡한 웹페이지를 만들 수 있게 해준다.
- AJAX를 사용하면 웹페이지 일부가 reload 되는 동안에도 코드가 계속 실행되어 비동기식으로 작업할 수 있다.
[MDN AJAX] https://developer.mozilla.org/ko/docs/Glossary/AJAX
XMLHttpRequest 예제
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root">
</div>
<script src="app.js" type="module"></script>
</body>
</html>
app.js
const ajax = new XMLHttpRequest();
ajax.open('GET', 'https://api.hnpwa.com/v0/news/1.json', false);
ajax.send();
const newsFeed = JSON.parse(ajax.response);
const ul = document.createElement('ul');
for (let i = 0; i < 10; i ++) {
const li = document.createElement('li');
li.innerHTML = newsFeed[i].title;
ul.appendChild(li);
}
document.getElementById('root').appendChild(ul);
반응형
'Programming > JavaScript' 카테고리의 다른 글
[JS] JS와 웹프론트 기본 (0) | 2021.06.10 |
---|