Я пытаюсь отправить форму, используя Ajax.Updater , и у меня есть результат этого обновления элемента div на моей странице.
Все отлично работает в IE6, FF3, Chrome и Opera. Тем не менее, в IE7 это время от времени работает, но чаще всего просто ничего не делает.
Вот JavaScript:
function testcaseHistoryUpdate(testcase, form) {
document.body.style.cursor = 'wait';
var param = Form.serialize(form);
new Ajax.Updater("content", "results/testcaseHistory/" + testcase, {
onComplete: function(transport) {document.body.style.cursor = 'auto'},
parameters: param,
method: 'post'
}
);
}
Я подтвердил, используя alert()
вызовы, что параметр установлен на то, что я ожидал.
Во многих местах я читал, что IE7 активно кэширует и что это может быть основной причиной, однако каждый раз после добавления следующего в мой php-ответ он все равно не работает.
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
Чтобы попытаться исправить проблему с кэшированием, я попытался добавить фиктивный параметр, который просто заполняется случайным значением, чтобы иметь разные параметры для каждого вызова, но это не помогло.
Я также нашел этот , где UTF-8, казалось, вызывал проблему с IE7, но моя страница была четко помечена:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Кто-нибудь знает, что может быть не так с IE7, в отличие от других браузеров, которые я тестировал, чтобы вызвать такую проблему?