Javascript에서 XMLHttpRequest 객체를 사용하여 서버에 동기 또는 비동기식 요청을 보낼 수 있으며, 요청에 대한 응답 정보를 웹 페이지에 로드할 수 있다.
즉, 웹 페이지를 다시 로드하지 않아도 웹 페이지의 일부를 변경할 수 있다.
XMLHttpRequest() 객체 사용 방법 요약
new 키워드를 이용해 XMLHttpRequest 객체를 생성한다
const res = new XMLHttpRequest();
open() 메서드로 요청에 필요한 정보를 설정한다
res.open(method , url , [async,user,password]);
setRequestHeader() 메서드를 이용해 Request Header에 데이터 설정이 가능하다
res.setRequestHeader(header,value)
send() 메서드를 이용해 서버에 요청을 보낼 수 있다.
const res = new XMLHttpRequest();
res.open("GET", 'url');
res.setRequestHeader('header', 'value');
res.send();
res.onload = () => {
console.log("IT LOADED");
console.log(res.response);
console.log(res.status);
console.log(res.statusText);
}
res.onerror = () => {
console.log("IT ERROR");
}
일반적으로 XMLHttpRequest 를 직접적으로 사용하는 경우는 별로 없다. 사용이 어렵고 콜백 함수를 중첩으로 작성해야 하기 때문에 복잡성도 증가하기 때문이다. 따라서 통상적으로 axios 혹은 Ajax 같은 HttpRequest 라이브러리를 사용한다.
또한 XMLHttpRequest를 사용하는 것도 좋지만 발전된 형태의 Fetch API
를 사용하는 것이 좋다.