내 AJAX 요청이 왜 상태 1에서 4 개에서 직접 이동합니까?
문제
AJAX를 사용하여 CGI 프로그램에 요청하고 있습니다. 응답은 나에게 컨텐츠 길이를 보냅니다. 저의 목적은 응답 진행을 동적으로 전시하는 것입니다. 이를 위해 XHR 객체의 OnreadyState 값에서 3이 될 수있는 함수를 시작해야합니다. 그러나 요청은 해당 상태 번호를 얻지 못하는 것 같습니다. 대신 상태 1에서 상태 4로 직접갑니다. 내가 누락 된 것은 무엇입니까?
해결책
응답이 너무 빨리 진행되어 상태 3에서 알 수 없습니다. 특히 LocalHost에서 실행하는 경우 응답이 매우 빨리 전송 될 수 있습니다. 3 단계에 도달하면 실제로 도착하는지 여부를 테스트 할 때 경고를 설정할 수 있습니다. 또한 Internet Explorer는 3 단계에서 응답에 액세스하는 것이 실수라고 믿고있어 호환성 문제가 발생할 수 있다고 말합니다.
다른 팁
LocalHost에서 실행중인 경우 브라우저가 요청을 보내는 시간과 응답을받는 시간 사이에 실행할 기회를 얻지 못할 것입니다 ...
- 브라우저는 연결을 열고 ReadyState를 1으로 설정합니다
- 브라우저는 패킷을 서버 프로세스로 보냅니다
- 서버 프로세스는 패킷을 수신하고 스케줄러에서 우선 순위를 얻습니다
- 서버는 데이터를 브라우저로 반환하고 CPU의 제어를 산출합니다. 브라우저는 계속 실행됩니다.
- 브라우저는 모든 데이터가 수신되었으며 ReadyState를 4로 설정했습니다.
짧은 이야기 : "수신"상태로 들어가는 것을 의지하지 마십시오.
제휴하지 않습니다 StackOverflow