Question

J'utilise JavaScript / JQuery pour faire une mise à jour automatique de la page avec une valeur à partir d'une base de données, mais il ne semble pas mise à jour dans Internet Explorer. Il fonctionne très bien dans FireFox et Chrome. Quelqu'un peut-il expliquer ce qui ne va pas? On dirait que IE est juste affiche une version en cache de la page. Comment puis-je empêcher cela? Merci.

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

setInterval("updateComm()", 1000);
Était-ce utile?

La solution

Essayez de désactiver le cache avec ajaxSetup

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

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

setInterval(updateComm, 1000);

Vous pouvez simplement ajouter manuellement un +new Date à url il ajoute une chaîne de requête pour empêcher la mise en cache.

En variante, la mise en cache de désactivation sur le côté serveur.

Autres conseils

Votre page php est mise en mémoire cache. N'a rien à voir avec l'intervalle. Définissez les en-têtes de mise en cache à droite sur la page.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top