xmlhttprequest의 다른 ReadyStates는 무엇을 의미하며 어떻게 사용할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/632774

문제

XMLHttpRequest 5가 있습니다 readyStateS, 그리고 나는 그들 중 하나만 사용합니다 (마지막 것, 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 언제 readyState==3, 그러나 이것은 보편적으로 지원되지 않으며 의존해서는 안됩니다.

다른 팁

키에 론의 대답은 W3Schools Ref. 아무도 의지하지 않는Bobince의 답변은 링크를 제공하며 실제로 IE의 기본 구현을 알려줍니다.

따라서 ReadyState가 나타내는 것을 올바르게 이해하도록 인용 된 원본 문서는 다음과 같습니다.

xmlhttprequest 객체는 여러 주에있을 수 있습니다. ReadyState 속성은 현재 상태를 반환해야하며 다음 값 중 하나 여야합니다.

Unsent (숫자 값 0)
물체가 구성되었습니다.

개방 (숫자 값 1)
Open () 메소드가 성공적으로 호출되었습니다. 이 상태 요청 중에 SetRequestHeader ()를 사용하여 헤더를 설정할 수 있으며 send () 메소드를 사용하여 요청을 수행 할 수 있습니다.

headers_received (숫자 값 2)
모든 리디렉션 (있는 경우)을 따르고 최종 응답의 모든 HTTP 헤더가 수신되었습니다. 이제 객체의 여러 응답 멤버를 사용할 수 있습니다.

로딩 (숫자 값 3)
응답 엔티티 본체가 수신되고 있습니다.

완료 (숫자 값 4)
데이터 전송이 완료되었거나 전송 중에 무언가 잘못 되었음 (예 : 무한 리디렉션).

여기에서 읽으십시오 : readystate의 W3C 설명

원래 결정적인 문서

0, 1 그리고 2 지금까지 전화 한 요청을하는 데 필요한 방법 중 몇 개만 추적하십시오.

3 서버의 응답이 들어 오기 시작했음을 알려줍니다. 그러나 당신이 사용할 때 XMLHttpRequest 웹 페이지에서 객체는 거의 없습니다 (*) 해당 정보로 수행 할 수 있습니다. 부분 데이터를 읽을 수있는 확장 된 속성에 액세스 할 수 없기 때문입니다.

준비 상태 4 어떤 의미를 지니고있는 유일한 사람입니다.

(*: ReadyState를 확인하기 위해 생각할 수있는 유일한 용도에 대해 3 서버 끝에서 어떤 형태의 삶을 신호하므로,받을 때 전체 응답을 기다리는 시간을 늘릴 수 있습니다.)

OnreadyStateChange는 ReadyState 속성이 readystate가 XMLHTTPrequest의 상태를 보유 할 때마다 자동으로 호출 할 함수 (또는 함수 이름)를 저장합니다. 0에서 4로 변경됩니다.

0 : 초기화되지 않은 요청

1 : 서버 연결이 설정되었습니다

2 : 요청을 받았습니다

3 : 처리 요청

4 : 요청 완료 및 응답이 준비되었습니다

상태 200 : "OK"

404 페이지를 찾을 수 없습니다

  • 0 : unsent 클라이언트가 생성되었습니다. Open ()는 아직 호출되지 않았습니다.
  • 1 : Open Open ()가 호출되었습니다.
  • 2 : headers_received send ()가 호출되었으며 헤더와 상태를 사용할 수 있습니다.
  • 3 : 다운로드로드; relateetext는 부분 데이터를 보유합니다.
  • 4 : 완료 작업이 완료되었습니다.

(https://developer.mozilla.org/en-us/docs/web/api/api/xmlhttprequest/readystate에서)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top