자바스크립트 XMLHttpRequest 객체

자바스크립트에는 HTTP 요청을 보내고 받기 위해 사용할 수 있는 XMLHttpRequest(XML Http Request) 객체가 있습니다. 이 객체는 웹 브라우저와 서버간에 데이터를 주고받는 데 사용되는 기능을 제공합니다. XMLHttpRequest 객체는 비동기적으로 서버에 HTTP 요청을 보내고, 응답을 받으면 해당 응답을 처리할 수 있도록 도와줍니다.

XMLHttpRequest의 기본 사용법

XMLHttpRequest 객체를 사용하여 서버에 HTTP 요청을 보내는 기본적인 사용법은 다음과 같습니다.

  1. XMLHttpRequest 객체를 생성합니다.
    let xhr = new XMLHttpRequest();
    
  2. 요청 방식과 요청 URL을 설정합니다.
    let method = 'GET'; // 요청 방식 (GET, POST, PUT, DELETE 등)
    let url = 'http://example.com/data'; // 요청 URL
    xhr.open(method, url, true); // 비동기적으로 요청을 보내기 위해 true로 설정합니다.
    
  3. 필요한 경우 헤더를 설정합니다.
    xhr.setRequestHeader('Content-Type', 'application/json'); // JSON 데이터를 전송할 경우
    
  4. 요청을 보냅니다.
    xhr.send();
    
  5. 서버로부터 응답을 받았을 때의 처리를 정의합니다.
    xhr.onreadystatechange = function() {
      if (xhr.readyState === 4 && xhr.status === 200) {
        let response = JSON.parse(xhr.responseText); // 응답 데이터를 파싱합니다.
        // 응답 데이터를 처리하는 로직을 구현합니다.
      }
    }
    

위와 같은 방식으로 XMLHttpRequest 객체를 사용하여 서버에 HTTP 요청을 보낼 수 있습니다. 비동기적으로 요청을 보내기 때문에, 서버로부터 응답을 기다리는 동안에도 여러 가지 작업을 동시에 수행할 수 있습니다.

XMLHttpRequest의 사용 예시

다음은 XMLHttpRequest 객체를 사용하여 데이터를 불러오는 간단한 예시입니다.

let xhr = new XMLHttpRequest();
xhr.open('GET', 'http://example.com/data', true);
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    let response = JSON.parse(xhr.responseText);
    console.log(response);
  }
}
xhr.send();

이 예시에서는 GET 요청을 보내고, ‘http://example.com/data’라는 URL에서 응답 데이터를 받아와 출력합니다. 서버로부터 받은 응답 데이터는 JSON 형식으로 파싱하여 사용할 수 있습니다.

요약

XMLHttpRequest 객체는 자바스크립트를 사용하여 웹 브라우저와 서버 간에 데이터를 주고받는 데 사용되는 중요한 객체입니다. 이를 통해 비동기적으로 서버에 HTTP 요청을 보내고, 응답을 받아 처리할 수 있습니다. 자주 사용되며 Web API의 일부로서 다양한 웹 개발 시나리오에서 활용됩니다.