Я написал приложение с торнадо для поддержки обновлений в реальном времени на моем веб-сайте через потоковую передачу HTTP. Он работает во всех браузерах, кроме IE7 и IE8. Вот код, который обрабатывает потоковую передачу HTTP:
... code to create xhr object
xhr.open('GET', 'http://192.168.0.173:8888', true);
xhr.onreadystatechange = function() {
if(xhr.readyState == 3 && xhr.status==200) {
try {
alert(xhr.responseText);
} catch(e) {
alert("noo");
}
}
}
setTimeout("xhr.send(null);", 1000);
Проблема в том, что xhr.responseText недоступен, когда readyState равен 3. После нескольких часов работы Google я узнал о IXMLHTTPRequest.responseStream . Я пытался использовать
xhr = new ActiveXObject("MSXML2.XMLHTTP.3.0");
но с тем же результатом. Запрос отправляется на сервер, и readyState равен 3, но xhr.responseStream недоступен.
Есть идеи? Или я должен вернуться к долгому опросу, когда я обнаружу IE?
Спасибо
Henry