XMLHttpRequest란?
XMLHttpRequest는 HTTP를 통해서 쉽게 데이터를 받을 수 있게 해주는 오브젝트를 제공한다.
Ajax로 실행되는 HTTP 통신도 XMLHttpRequest 규격을 이용하고 있다.
How to use?
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://localhost:3000/', true);
xhr.send(null);
위 코드를 사용하게 되면 http://localhost:3000 로 비동기로 HTTP 요청을 하게 된다.
정리하면 아래와 같다.
XMLHttpRequest()를 통해 오브젝트 생성을 한다.
그 후 open() 함수를 통해 메소드 방식, url, 그리고 비동기 여부를 설정한다.
send(data) 로 설정한 방식대로 request를 보낸다.(data는 null이어도 된다.)
How to response?
xhr.onreadystatechange = function()
{
if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) {
console.log(xhr.responseText);
}
}
위 코드를 사용하게 XMLHttpRequest 오브젝트에 onreadystatechange를 등록하면 request 후 해당 server로부터 status code가 200이면 response 받은 text를 콘솔에 출력한다.
How to send data?
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var data = 'id=' + id + '&' + 'pw' + pw;
xhr.send(data);
x-www-form-urlencoded로 Content-type을 지정하면 data는 form 형식을 유지해야 한다.
xhr.setRequestHeader('Content-Type', 'application/json');
var data = {
id: id,
pw: pw
}
xhr.send(data);
application/json 타입이면 data는 json 타입이어야 한다.
'IT > FrontEnd' 카테고리의 다른 글
| ajax를 사용하기 그리고 사용하며.. (0) | 2018.01.13 |
|---|