3

"4"(완료)와 다른 readyState를 사용하여 onreadystatechange를 가로 채기 위해 XHR 객체를 사용한 적이 있습니까?XHR.onreadystatechange 콜백에서 "4"(완료)와 다른 readyState를 유용하게 사용합니까?

가능한 다른 값으로 함수를 트리거하는 경우 궁금합니다. 다른 사람들이 실제로 사용하는 것을 상상할 수는 없습니다. 그들은 뭔가를하는 것이 다소 유용합니까?

실용적인 예가 있다면 무엇입니까?

I'm talking about these는 :

  • 0 : 서버 연결 설립
  • 2 : 요청
  • 3
  • 접수 :
  • 1
  • 초기화되지 요청할 요청
  • 4를 처리 : 완료 요청 및 응답이 준비

답변

2

인트라넷에서 통지 목적으로 개발했습니다. 상태 3을 가로 채서 요청이 시작되었다는 것을 사용자에게 알릴 수 있습니다.

또한 요청 전송 시간을 정하기 위해 사용합니다. 추가 메모에서

var EarlyRequest = new Class({Extends: Request, 
onStateChange: function() { 
    this.fireEvent("onStateChange", [this.xhr.readyState]); 
    this.parent(); 
} 
}); 

: 나는 내가되고 onStateChange 이벤트를 해고 요청 클래스를 확장 Mootools의를 사용하기 때문에 나는 주 3, 4

사이에 경과 된 시간을 표시합니다. 당신이 (w3cschools에서) 게시 된 상태의 정의는 이러한 (http://www.w3.org/TR/XMLHttpRequest/#states에서) 나에게 명확하고, 오해의 소지가 있습니다

  • UNSENT (숫자 값 0) 개체가 구축되었습니다.

  • 열린 숫자 (숫자 값 1) open() 메서드가 성공적으로 호출되었습니다. 이 상태에서 요청 헤더는 setRequestHeader()를 사용하여 설정할 수 있으며 request는 send() 메소드를 사용하여 만들 수 있습니다.

  • HEADERS_RECEIVED (수치 2) 모든 리다이렉트 (있는 경우) 다음되었으며, 최종 응답의 모든 HTTP 헤더가 수신되었다. 이제 개체의 여러 응답 멤버를 사용할 수 있습니다.

  • LOADING (숫자 값 3) 응답 엔터티 본을 받고 있습니다.

  • DONE (수치 4) 데이터 전송이 완료 또는 무언가 전송 (예를 들어 무한 리디렉션) 중에 잘못되었다.

관련 문제