XMLHttpRequest
5 readyState
s 가 있으며 그중 1 개만 사용합니다 (마지막 것 4
).
다른 용도는 무엇이며 어떤 용도로 사용할 수 있습니까?
답변
전체 readyState
값 목록 은 다음과 같습니다.
State Description
0 The request is not initialized
1 The request has been set up
2 The request has been sent
3 The request is in process
4 The request is complete
( https://www.w3schools.com/js/js_ajax_http_response.asp에서 )
실제로 4를 제외하고는 거의 사용하지 않습니다.
일부 XMLHttpRequest 구현에서는 responseText
when 에서 부분적으로 수신 된 응답을 볼 수 readyState==3
있지만 이것은 보편적으로 지원되지 않으며 의존해서는 안됩니다.
답변
kieron 의 답변에는 w3schools ref가 포함되어 있습니다. 아무도 의지하지 않는,
bobince 의 대답은 실제로 IE의 기본 구현을 알려주는 링크를 제공합니다.
그래서 여기에 readystate가 무엇을 나타내는 지 올바르게 이해하기 위해 인용 된 원본 문서가 있습니다.
XMLHttpRequest 객체는 여러 상태에있을 수 있습니다. readyState 속성은 현재 상태를 반환해야하며 다음 값 중 하나 여야합니다.
UNSENT (숫자 값 0)
개체가 생성되었습니다.OPENED (숫자 값 1)
open () 메서드가 성공적으로 호출되었습니다. 이 상태에서 요청 헤더는 setRequestHeader ()를 사용하여 설정할 수 있으며 요청은 send () 메서드를 사용하여 만들 수 있습니다.HEADERS_RECEIVED (숫자 값 2)
모든 리디렉션 (있는 경우)을 따르고 최종 응답의 모든 HTTP 헤더를 수신했습니다. 이제 개체의 여러 응답 멤버를 사용할 수 있습니다.LOADING (숫자 값 3)
응답 엔티티 본문을 수신 중입니다.DONE (숫자 값 4)
데이터 전송이 완료되었거나 전송 중에 문제가 발생했습니다 (예 : 무한 리디렉션).
여기에서 읽으십시오 : ReadyState의 W3C 설명
답변
0
, 1
및 2
단지 당신이 지금까지 전화 한 요청을하는 데 필요한 방법 중 얼마나 많은을 추적 할 수 있습니다.
3
서버의 응답이 들어 오기 시작했음을 알려줍니다. 그러나 XMLHttpRequest
웹 페이지에서 개체를 사용할 때는 해당 정보로 할 수있는 작업이 거의 없습니다 (*). 허용하는 확장 속성에 대한 액세스 권한이 없기 때문입니다. 부분 데이터를 읽으십시오.
readyState 4
는 모든 의미를 보유하는 유일한 것입니다.
(* : readyState를 확인하기 위해 생각할 수있는 유일한 용도 3
는 서버 끝에서 어떤 형태의 생명체를 신호한다는 것입니다. 따라서 전체 응답을받을 때까지 기다리는 시간을 늘릴 수 있습니다.)
답변
onreadystatechange readyState 속성이 변경 될 때마다 자동으로 호출 될 함수 (또는 함수 이름)를 저장합니다. readyState XMLHttpRequest의 상태를 보유합니다. 0에서 4로 변경됩니다.
0 : 요청이 초기화되지 않았습니다.
1 : 서버 연결 설정
2 : 요청 수신
3 : 요청 처리
4 : 요청 완료 및 응답 준비
상태 200 : “OK”
404 페이지를 찾을 수 없습니다
답변
- 0 : UNSENT 클라이언트가 생성되었습니다. open () 아직 호출되지 않았습니다.
- 1 : OPENED open ()이 호출되었습니다.
- 2 : HEADERS_RECEIVED send ()가 호출되었으며 헤더 및 상태를 사용할 수 있습니다.
- 3 : LOADING 다운로드 중; responseText는 부분 데이터를 보유합니다.
- 4 : DONE 작업이 완료되었습니다.
(https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState에서)