readyState
readyState
- XMLHttpRequest 객체의 현재 상태를 나타낸다.
- UNSET(숫자 0) : XMLHttpRequest 객체가 생성된다.
- OPENED(숫자 1) : open() 메서드가 성공적으로 실행된다.
- HEADERS_RECEIVE(숫자 2) : 모든 요청에 대한 응답이 도착하게 된다.
- LOADING(숫자 3) : 요청한 데이터를 처리 중이다.
- DONE(숫자 4) : 요청한 데이터의 처리가 완료되어 응답할 준비가 완료되었음을 의미한다.
status
status
- 서버의 문서 상태를 나타낸다.
- 200 : 서버에 문서가 존재함을 의미한다.
- 404 : 서버에 문서가 존재하지 않음을 의미한다.
onreadystatechange
onreadystatechange
- XMLHttpRequest 객체의 readyState 프로퍼티 값이 변할 대마다 자동으로 호출되는 함수를 설정한다.
- 서버에서 응답이 도착할 때까지 readyState 프로퍼티 값의 변화에 따라 총 5번 호출된다.
- 이 프로퍼티 이용을 통해 서버에 요청한 데이터가 존재하고, 서버로부터 응답이 도착하는 순간을 특정할 수 있다.
예시
switch(httpRequest.readyState) {
case XMLHttpRequest.UNSET:
currentState += "현재 XMLHttpRequest 객체의 상태는 UNSET 입니다.<br>";
break;
case XMLHttpRequest.OPENED:
currentState += "현재 XMLHttpRequest 객체의 상태는 OPENED 입니다.<br>";
break;
case XMLHttpRequest.RECEIVD:
currentState += "현재 XMLHttpRequest 객체의 상태는 RECEIVD 입니다.<br>";
break;
case XMLHttpRequest.HEADERS_RECIEVED:
currentState += "현재 XMLHttpRequest 객체의 상태는 HEADERS_RECIEVED 입니다.<br>";
break;
case XMLHttpRequest.LOADING:
currentState += "현재 XMLHttpRequest 객체의 상태는 LOADING 입니다.<br>";
break;
case XMLHttpRequest.DONE:
currentState += "현재 XMLHttpRequest 객체의 상태는 DONE 입니다.<br>";
break;
}
document.getElementById("status").innerHTML = currentState;
if(httpRequest.readyState == XMLHttpRequest.DONE && httpRequest.status == 200) {
document.getElementById("text").innerHTML = httpRequest.responseText;
}
반응형
728x90
반응형
'프로그래밍 언어 > Javascript' 카테고리의 다른 글
[ Javascript ] window.onscroll로 페이지 상단 스크롤 바 만들기 (24) | 2023.12.26 |
---|---|
[ Node.js ] Node __dirname과 __filename (4) | 2023.06.02 |
[ Javascript ] How to use 'json.stringify()'? (2) | 2023.02.23 |
[ Javascript ] What is the 'jQuery'? (0) | 2023.02.23 |