web/javascript

XMLHttpRequest

su0a 2024. 1. 29. 22:51

XMLHttpRequest: 서버와 상호작용하기 위한 객체로 웹페이지가 전부 로딩된 후에도 서버에 데이터를 요청하거나 서버로부터 데이터를                                  전송받을 수 있다.

 

사용방법

1. XMLHttpRequest객체 생성

    const XHR = new XMLHttpRequest();    

2. open() 메서드로 요청에 필요한 정보 설정

    XHR.open(method, url, [async, user, password]);    

method - HTTP 요청 메서드

url - 요청을 보낼 URL

async - true인 경우 비동기식으로 동작

           - false인 경우 동기식으로 동작하며 send메서드로 요청을 보냈을 때 응답을 받을 때까지 반환 결과 없음

user & password - 기본 HTTP 인증을 위한 로그인 및 비밀번호

3. send() 메서드로 서버에 요청 보냄

    XHR.send(보낼 데이터);    

4. 응답에 대한 콜백 함수 실행 (load 이벤트리스너: onload)

    XHR.onload = function(){}    

 

 

XMLHttpRequest의 readyState

0: UNSET(미전송) - XMLHttpRequest가 생성된 상태로 아직 서버에 요청을 보내지 않은 상태

1: OPENED(열림) - open() 메서드가 호출된 상태로, 객체가 초기화 된 상태

2: HEADERS_RECEIVED(헤더 응답) - send() 메서드 호출된 이후, 서버에 요청한 결과의 헤더를 수신한 상태

3: LOADING(로딩) - send() 메서드 호출 후, 서버에 요청한 결과를 받아오는 중

4: DONE(완료) - 서버에 요청한 결과를 받은 상태