2010-05-10 2 views
1

J'ai un problème avec les requêtes ajax dans Internet Explorer et dans Chrome - je ne peux pas détruire le cache. Les pages normales n'ont pas le problème - c'est juste les demandes d'ajax.Ajax cache control

Je sais qu'une solution de contournement consiste à ajouter une variable de chaîne de requête aléatoire à la fin de l'URL. Cependant, je ne veux pas perdre tous les avantages de la mise en cache, je veux juste que le navigateur prenne le nouveau fichier si la version sur le serveur est différente de la version mise en cache.

J'ai essayé régler manuellement l'en-tête ajax POST, en vain:

xmlHttp.setRequestHeader ("Cache-Control", "doit-revalidate");

Ajouter à mon fichier .htaccess ne fonctionne pas non plus:

<FilesMatch "\.(js|css).*">
tête Set Cache-Control: "max-age = 172800, public, doit-revalidate"
</FilesMatch>

Toute aide serait grandement appréciée.

Merci, Brian

Répondre

1

Qu'en est-création/extension d'un composant qui émet votre css/js comprend les dernières versions jointes aux liens? De cette façon, il ne va pas saisir une nouvelle copie tous les temps, et ne prendra une nouvelle version lorsque le serveur dit qu'il y en a un.

+0

C'est en fait une idée fantastique. Mon seul problème est que j'utilise le module apache mod_concat qui nécessite l'écriture de la balise

Questions connexes