Problema com o IE e o setInterval () não é refrescante/atualizado
-
26-09-2019 - |
Pergunta
Estou usando o JavaScript/jQuery para fazer uma página de atualização automática com um valor de um banco de dados, embora não pareça atualizar no Internet Explorer. Funciona bem no Firefox e Chrome. Alguém pode explicar o que está errado? Parece que o IE está apenas exibindo uma versão em cache da página. Como posso impedir que isso aconteça? Obrigado.
function updateComm() {
var url="commandSys.php";
jQuery("#theElement").load(url);
}
setInterval("updateComm()", 1000);
Solução
Tente desativar o cache com ajaxSetup
$.ajaxSetup ({
// Disable caching of AJAX responses */
cache: false
});
function updateComm() {
var url="commandSys.php";
jQuery("#theElement").load(url);
}
setInterval(updateComm, 1000);
Como alternativa, você pode apenas anexar manualmente um +new Date
para url
Por isso, anexa uma sequência de consulta para evitar o armazenamento em cache.
Como alternativa, desative o cache no lado do servidor.
Outras dicas
Sua página PHP está em cache. Não tem nada a ver com o intervalo. Defina os cabeçalhos de armazenamento certo na página.