정보를 위해 지정된 서브넷 주소를 쿼리하는 Windows 가젯 ("브라우저"가 Internet Explorer임을 의미)에서 작업했습니다. 이제는 때로는 비교적 빠른 속도 (약 5 초마다)로이를 수행하며 충분히 잘 작동합니다. 그러나 때로는 준비 상태 1에서 멈추고 영원히 거기에 머무를 것입니다. 가젯이 xmlhttprequest를 가져 오는 기능을 다시 실행하고 정보를 가져올 때마다 상태 1에 머물러 있습니다. 가젯의 여러 인스턴스를 열고 그 중 하나를 제외하고 모두 닫으면 쉽게 복제 할 수 있습니다. 이 시점에서 아직 열려있는 상태는 거의 항상이 상태에 머물러있게됩니다. 같은 웹 사이트에 액세스하는 모든 사람들과 관련이 있거나, 중간 전송이 중지 된 xmlhttprequests와 다른 작업을 방해하는 xmlhttprequests와 관련이있을 수 있습니다. 아래는 관련 코드입니다.Javascript : xmlhttprequest가 준비 상태 1에서 임의로 멈춤
//Reference to this for the inner function
var me = this;
var request = new XMLHttpRequest();
request.onreadystatechange = onReadyStateChange;
var url = this.url;
//Make the URL random to prevent being cached
url += ("&a=" + ((new Date()).getTime()));
Trace(DEBUG_COMM, "Sase.updateStatus url: " + url);
request.open("GET", url, true);
request.send(); // fire off the request, calls httpRequestReadyStateChange as things continue
Trace(DEBUG_COMM, "Request sent" + request.readyState);
function onReadyStateChange() {Trace(DEBUG_COMM, "Sase.httpRequestReadyStateChange: state=" + request.readyState);
if (4 == request.readyState) {
Trace(DEBUG_COMM, "Sase.httpRequestReadyStateChange: status=" + request.status);
if (request.status == 200) {
Trace(DEBUG_COMM, "retrieved html: " + request.responseText);
var results = request.responseText;
var resultsString = request.responseText.toString();
Trace(DEBUG_COMM, "results String: " + resultsString);
me.ParseStatusData(resultsString);
}
else {
//me.commError(request.status);
}
request = null;
}
}
이 어떻게 수정 사항을 게시하고이에게 가치있는 답을 만들기에 대해 어떻게 생각하세요 :이처럼 사용할 수 있습니다
? –
거의 3 년 동안이 코드에 액세스 할 수 없었기 때문에 상당히 불안했습니다. – user535617