[javascript] AJAX를 사용한 비동기 통신 처리 방법

개요

AJAX(Asynchronous JavaScript and XML)는 웹 애플리케이션에서 서버와 비동기적으로 데이터를 주고받기 위해 사용되는 기술입니다. 이를 통해 웹 페이지를 새로고침하지 않고도 동적으로 데이터를 업데이트할 수 있습니다.

XMLHttpRequest 객체 생성

AJAX 통신을 위해서는 XMLHttpRequest 객체를 사용해야 합니다. 다음은 XMLHttpRequest 객체를 생성하는 방법입니다.

var xhr = new XMLHttpRequest();

서버와의 통신 설정

서버와의 통신을 설정하기 위해서는 open 메서드와 send 메서드를 사용합니다. open 메서드는 서버와의 연결을 설정하고, send 메서드는 요청을 보내는 역할을 합니다.

xhr.open('GET', 'http://example.com/api/data', true); // GET 방식으로 'http://example.com/api/data'에 요청
xhr.send(); // 요청 보내기

통신 상태 확인

통신 상태를 확인하기 위해서는 onreadystatechange 이벤트 핸들러를 사용합니다. 이벤트 핸들러가 호출될 때마다 readyState 속성을 확인하여 통신 상태를 파악할 수 있습니다.

xhr.onreadystatechange = function() {
  if (xhr.readyState === XMLHttpRequest.DONE) {
    if (xhr.status === 200) {
      // 성공적으로 통신된 경우에 대한 코드
      var responseData = xhr.responseText; // 받은 데이터 처리
    } else {
      // 통신이 실패한 경우에 대한 코드
    }
  }
};

데이터 수신

서버로부터 받은 데이터는 responseText 속성을 통해 확인할 수 있습니다. 이를 적절히 처리하여 웹 페이지에 반영하면 됩니다.

요청 취소

통신 중에 요청을 취소하고 싶은 경우, abort 메서드를 호출하여 요청을 중단할 수 있습니다.

xhr.abort(); // 통신 취소

결론

AJAX를 사용하여 비동기 통신을 처리하는 방법에 대해 알아보았습니다. AJAX를 통해 웹 애플리케이션의 성능과 사용자 경험을 향상시킬 수 있으며, XMLHttpRequest 객체를 사용하여 서버와의 비동기 통신을 구현할 수 있습니다.

참고 자료