원시 XmlHttpRequestObjects + Comet Long 폴링으로 조금 놀고 있습니다.Comet (긴 폴링) 및 XmlHttpRequest 상태
function longPoll() {
var xhr = createXHR(); // Creates an XmlHttpRequestObject
xhr.open('GET', 'LongPollServlet', true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
...
}
if (xhr.status > 0) {
longPoll();
}
}
}
xhr.send(null);
}
...
<body onload="javascript:longPoll()">...
내가있는 longPoll()
전화를 포장 : (. 보통, 내가 GWT 또는 나를 위해이의 또 다른 프레임 워크 핸들 할 것입니다,하지만 난 그것에 대해 더 배우고 싶은)
status > 0
을 확인하는 if 문은 내가 페이지를 떠날 때 (다른 곳을 탐색하거나 다시로드하여) 마지막 불필요한 혜성 호출이 전송된다는 것을 알았습니다.
[I가 아직 완전히 이해하지 못하는 어떤 이유로, 페이지를 다시로드를 수행 할 때 그리고 파이어 폭스에, 그것도 심각한 문제가 발생합니다.]
질문 :가 status
이 문제를 처리 할 수있는 올바른 방법을 확인 즉, 아니면 더 나은 해결책이 있습니까?
기존 구현을 살펴 보지 않겠습니까? GWT가 언급 한 것처럼, jquery 등? – fig
@ fig-gnuton : 생성 된 자바 스크립트 코드를 따라하기가 쉽지 않은지 잘 모르겠습니다. (저는 자바 스크립트 전문가가 아닙니다 ...) –
원시 XHR로 재생할 수있을만큼 충분히 알고 있다면 Jquery 나 다른 라이브러리를 보는 데 아무런 문제가 없습니다. 그들은 완전히 주석 처리 된 소스 버전을 가지고 있습니다. – fig