Mise à jour d'une image bloquée par le cache du navigateur

Fermé
csi_bern Messages postés 64 Date d'inscription lundi 29 mars 2010 Statut Membre Dernière intervention 26 octobre 2020 - 23 oct. 2020 à 09:00
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 26 oct. 2020 à 08:28
Bonjour,

J'ai mis en place la possibilité de modifier l'image d'un utilisateur via une requête AJAX. Ceci fonctionne bien si ce n'est que la nouvelle image n'est pas afficher avant qu'on aille manuellement effacer le cache du navigateur.

Comment puis-je contourner le problème ? Mes recherches m'ont emmené à évaluer la possibilité d'utiliser un timestamp sur mes ressources, mais je ne sais pas comment faire cela.

Auriez-vous une solution ?

Merci d'avance
A voir également:

4 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 oct. 2020 à 09:21
Bonjour,

Sans voir ton code.. difficile de te répondre.
Mais normalement, si tu changes le nom de l'image à afficher, normalement elle devrait se charger à la place de l'autre sans que le cache n'intervienne....

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 oct. 2020 à 09:24
NB: A lire AVANT de nous partager ton code :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
.
0
csi_bern Messages postés 64 Date d'inscription lundi 29 mars 2010 Statut Membre Dernière intervention 26 octobre 2020 2
23 oct. 2020 à 17:24
Hello,

La réponse est simple il est vrai. Mais n'y a-t-il pas une possibilité de garder le nom de fichier, car toute la plateforme est basée sur le nom de l'utilisateur pour les photos (nom_utilisateur.jpg), du coup, je devrais changer la structure de la base de données, ses inscriptions et ses appels...

Mais ça sera peut-être plus simple qu'un changement du cache.

Merci en tout cas
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 oct. 2020 à 17:37
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");


0
csi_bern Messages postés 64 Date d'inscription lundi 29 mars 2010 Statut Membre Dernière intervention 26 octobre 2020 2
26 oct. 2020 à 08:13
Salut Jordane,

Merci pour ta réponse. J'ai remarqué que ce code ne fonctionnait pas s'il est lancé depuis la requête Ajax. Cependant, les lignes suivante dans le document mère fonctionne (demande cependant de relancer la page :

	<meta http-equiv="Cache-control" content="no-store, no-cache">
	<meta http-equiv="Pragma" content="no-cache">


Si vous avez d'autres solutions, je les prends volontiers
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 oct. 2020 à 08:28

J'ai remarqué que ce code ne fonctionnait pas s'il est lancé depuis la requête Aja

Ah, tu fais de l'ajax ...
Et bien, pour l'ajax il existe également un paramètre permettant d'indiquer si tu veux du cache ou non

par exemple, si fais de l'ajax en jquery
$.ajax({url: "myurl", success: myCallback, cache: false});
0