2010-08-06 15 views
19

Estoy usando JavaScript/Jquery para hacer una página de auto-actualización con un valor de una base de datos, aunque no parece actualizarse en Internet Explorer. Funciona bien en FireFox & Chrome. ¿Alguien puede explicar lo que está mal? Parece que IE solo está mostrando una versión en caché de la página. ¿Cómo puedo evitar que esto suceda? Gracias.Problema con IE y setInterval() no actualizar/actualizar

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

setInterval("updateComm()", 1000); 

Respuesta

30

intente deshabilitar la caché con ajaxSetup

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

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

setInterval(updateComm, 1000); 

Alternativamente, puede manualmente simplemente añadir una +new Date a url por lo que añade una serie de consulta para evitar el almacenamiento en caché.

De forma alternativa, deshabilite el almacenamiento en caché en el lado del servidor.

+1

Muchas gracias. Usé la solución "ajaxSetup". :) –

+0

yup, funcionó para mí también, simplemente copié y pegué la primera parte de este código en mi archivo. –

+0

impresionante, tenía el mismo problema con IE. Lo curioso es que, al abrir la herramienta de desarrollador, funcionó. Gracias por compartir. –

0

Su página php está en caché. No tiene nada que ver con el intervalo. Establezca los encabezados de almacenamiento en caché adecuados en la página.

Cuestiones relacionadas