Probleme de cache Ajax IE

Fermé
lali - 30 oct. 2007 à 15:08
 RIO - 11 janv. 2009 à 10:05
Bonjour,
bonjour,
j'ai le meme probleme,
sous IE ca marche des fois et des fois non, aléatoire !!!!
sous FF ca marche Bien, rien à dire ,

les solutions testées:
1)
http.open("GET", "test.php?counter="+Math.random(), true);
http.open("GET", "test.php?counter="+date.timemillisecond(), true);
2)
//firefox
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest(); http-equiv="Cache-control" content="no-cache"
http-equiv="Pragma" content="no-cache"
http-equiv="Expires" content="0"
}
// en mettant bien les deux lignes---- suivantes concernant le IE:
//ie
else if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");

3)
header("Cache-Control: no-cache");
header("Cache-Control: no-store, no-cache, mushttp-equiv="Cache-control" content="no-cache"
http-equiv="Pragma" content="no-cache"
http-equiv="Expires" content="0" t-revalidate'')

4)dans la balise meta:

http-equiv="Cache-control" content="no-cache"
http-equiv="Pragma" content="no-cache"
http-equiv="Expires" content="0"

rien ne marche de tout ca !!!!!!!!!!!!!!!!!!!!!!

quelqu'un a une solution qui marche à tous les coups ?

merci de votre aide
A voir également:

5 réponses

Salut ;)

Apparement ça marche pas trop mal :

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

Good luck

Furious
2
bonjour!
j'ai essayé cette solution, ainsi que celle de mettre un nombre aléatoire dans l'URL de la requete Ajax, mais IE a toujours un comportement aléatoire (cette requete actualise une liste de produits que l'on ajoute ou supprime via un bouton, et à l'instar de Lali, ca fonctionne à 50/50...)

si quelqu'un a une autre piste, je suis preneur... :)
de mon coté, si je trouve, je posterai la solution ;)
0
Est ce que la page générée par la requete n'est pas trop "volumineuse".
J'ai souvent eu des problèmes avec des requêtes exécutées plusieurs fois quand les pages générées étaient assez lourdes.
Il me semble que losqu'IE charge une page, si il considère que le chargement n'a pas été correctement effectué, il exécute à nouveau la requête pour recharger à nouveau la page.
Dans ma base, cela se traduisait par la création de 4 nouveaux articles au lieu d'un par exemple.
Ca n'arrivait qu'avec IE.
C'est peut être une piste...
Si c'est ca, veillez à ce que les pages qui manipulent les bases ou font des manipulations sensibles ne génèrent pas des pages trop lourdes (mieux vaut des redirections ou des commandes en AJAX)
0
mister_ouille
12 août 2008 à 13:56
Voci (peut être) une solution au problème :
https://www.htmlgoodies.com/beyond/reference/article.php/3472881
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bonjour

Voici ce qui semble bien marcher sur IE7 vista en javascript, le serveur est Apache

var urlstr="read.dat?RANDOM="+Math.random()+String.fromCharCode(34);
request.open('GET', urlstr , true)

bonne jounée
0