XMLHttpRequest 와 객체 상태

이의현·2021년 2월 13일
1

목록 보기
2/2

XMLHttpRequest

웹 브라우저와 웹 서버 간에 메소드가 데이터를 전송하는 객체 폼의 API이다. 전체 페이지의 새로고침없이도 URL 로 부터 데이터를 받아올 수 있다.

XMLHttpRequest를 사용한 Ajax 프로그램은 다음와 같이 세 과정을 거치게 된다.


1. XMLHttpRequest 객체 구하기

2. 웹 서버에 요청 전송하기

  1. open() 함수 : 요청의 초기화, HTTP 메소드, 접속할 URL입력

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

    • 첫번째 매개변수 : 'GET','POST','PUT','DELETE'
    • 두번째 매개변수 : URL
    • 세번째 매개변수 : 동기/비동기 방식을 지정, default = true(비동기)
  1. sand() 함수 : 웹서버에 요청 전송

3. 웹 서버에서 응답이 도착하면 화면에 반영하기



서버로부터 응답(response) 확인

  • readyState 프로퍼티

  • status 프로퍼티

  • onreadystatechange 프로퍼티

readyState

상태설명
0UNSENTXMLHttpRequest 객체가 생성된다
1OPENEDopen()메서드가 실행된다
2HEADERS_RECEIVEDsend() 메서드가 실행된다.
header 및 status를 사용할 수 있다.
3LOADINGResponse's body를 받는 중이다. 만약 responseType: "text"이거나 빈 문자열인 경우 responseText 부분 텍스트로 응답해야 한다. 요청한 데이터를 처리 중이다.
4DONE가져오는 작업이 완료되었다. 데이터 전송이 성공적으로 완료되었거나, 실패했음을 의미한다. 응답할 준비가 완료됨을 의미한다.

onreadystatechange 이벤트

onreadystatechange 프로퍼티는 XMLHttpRequest 객체의 readyState 프로퍼티 값이 변할 때마다 자동으로 호출되는 함수를 설정합니다.

Callback 함수

다른 함수의 파라미터로 넘겨지는 함수를 말한다.

status

서버의 응답상태를 나타낸다.

상태설명
200OK요청성공
403Forbidden접근거부
404NotFound페이지 없음
500Internal Server Error서버오류


출처

profile
상상을 개발로

0개의 댓글