2010-08-06 14 views
19

sto usando JavaScript/jQuery per fare un auto-update pagina con un valore da un database, anche se non sembra per aggiornare in Internet Explorer. Funziona bene in FireFox & Chrome. Qualcuno può spiegare cosa c'è che non va? Sembra che IE è solo la visualizzazione di una versione cache della pagina. Come posso evitare che ciò accada? Grazie.problema con IE e setInterval() non rinfrescante/aggiornamento

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

setInterval("updateComm()", 1000); 

risposta

30

Provare a disattivare la cache con ajaxSetup

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

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

setInterval(updateComm, 1000); 

In alternativa, è possibile manualmente basta aggiungere un +new Date-url quindi aggiunge una stringa di query per evitare la memorizzazione nella cache.

In alternativa, disattivare la memorizzazione nella cache sul lato server.

+1

Grazie molto. Ho usato la soluzione "ajaxSetup". :) –

+0

sì, ha funzionato anche per me, ho appena copiato e incollato la prima parte di questo codice nel mio file. –

+0

impressionante, ha avuto lo stesso problema con IE. La cosa divertente è che, una volta aperto lo strumento di sviluppo, ha funzionato. Grazie per la condivisione. –

0

tua pagina PHP è in cache. Non ha niente a che fare con l'intervallo. Imposta le intestazioni di cache corrette nella pagina.

Problemi correlati