Проблема с IE и setInterval () не обновляется / обновляется - PullRequest
19 голосов
/ 06 августа 2010

Я использую JavaScript / Jquery для автоматического обновления страницы со значением из базы данных, хотя в Internet Explorer она не обновляется.Он отлично работает в FireFox и Chrome.Может кто-нибудь объяснить, что не так?Похоже, IE просто отображает кэшированную версию страницы.Как я могу предотвратить это?Спасибо.

function updateComm() {  
 var url="commandSys.php";  
 jQuery("#theElement").load(url);  
}

setInterval("updateComm()", 1000);

Ответы [ 2 ]

31 голосов
/ 06 августа 2010

Попробуйте отключить кэш с помощью ajaxSetup

$.ajaxSetup ({
    // Disable caching of AJAX responses */
    cache: false
});

function updateComm() {  
 var url="commandSys.php";  
 jQuery("#theElement").load(url);  
}

setInterval(updateComm, 1000);

В качестве альтернативы, вы можете просто вручную добавить +new Date к url, чтобы добавить строку запроса для предотвращения кэширования.

В качестве альтернативы отключите кэширование на стороне сервера.

0 голосов
/ 06 августа 2010

Ваша php-страница кэшируется. Не имеет ничего общего с интервалом. Установите правильные заголовки кэширования на странице.

...