ajax & IE - получение ответа

autocalc
На сайте с 11.05.2011
Offline
52
520

При первом запуске вэб страницы в IE с ajax навигацией, отправка запроса и получение ответа происходит без проблем, повторный же запрос не получает ответа, а лишь показывает состояние ожидания ответа. Проблема в IE, это ясно, но в чем конкретно?

Вот мой getXmlHttp, вроде(?) кроссбраузерный:

function getXmlHttp(){
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

Отправка запроса:

function example(id) {
var req = getXmlHttp()
var statusElem = document.getElementById('divname')
req.onreadystatechange = function() {
if (req.readyState == 4) {
statusElem.innerHTML = req.statusText
if(req.status == 200) {
statusElem.innerHTML = req.responseText;
}
}

}
req.open('GET', '/patch/?class='+id, true);
req.send(null);
statusElem.innerHTML = 'poluchenie otveta';
}

Помогает чистка кэша, также помогает добавление случайного значения к строке запроса. Правильно делать вывод, что проблема в кешировании?

autocalc добавил 23.09.2011 в 19:20

Решение найдено: header("Cache-control: no-cache");

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий