문제

AJAX를 사용하여 CGI 프로그램에 요청하고 있습니다. 응답은 나에게 컨텐츠 길이를 보냅니다. 저의 목적은 응답 진행을 동적으로 전시하는 것입니다. 이를 위해 XHR 객체의 OnreadyState 값에서 3이 될 수있는 함수를 시작해야합니다. 그러나 요청은 해당 상태 번호를 얻지 못하는 것 같습니다. 대신 상태 1에서 상태 4로 직접갑니다. 내가 누락 된 것은 무엇입니까?

도움이 되었습니까?

해결책

응답이 너무 빨리 진행되어 상태 3에서 알 수 없습니다. 특히 LocalHost에서 실행하는 경우 응답이 매우 빨리 전송 될 수 있습니다. 3 단계에 도달하면 실제로 도착하는지 여부를 테스트 할 때 경고를 설정할 수 있습니다. 또한 Internet Explorer는 3 단계에서 응답에 액세스하는 것이 실수라고 믿고있어 호환성 문제가 발생할 수 있다고 말합니다.

다른 팁

LocalHost에서 실행중인 경우 브라우저가 요청을 보내는 시간과 응답을받는 시간 사이에 실행할 기회를 얻지 못할 것입니다 ...

  1. 브라우저는 연결을 열고 ReadyState를 1으로 설정합니다
  2. 브라우저는 패킷을 서버 프로세스로 보냅니다
  3. 서버 프로세스는 패킷을 수신하고 스케줄러에서 우선 순위를 얻습니다
  4. 서버는 데이터를 브라우저로 반환하고 CPU의 제어를 산출합니다. 브라우저는 계속 실행됩니다.
  5. 브라우저는 모든 데이터가 수신되었으며 ReadyState를 4로 설정했습니다.

짧은 이야기 : "수신"상태로 들어가는 것을 의지하지 마십시오.

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