Comment désactiver la mise en cache du navigateur pour les réponses AJAX
Lors du chargement de contenu dynamique avec AJAX, par exemple en utilisant la méthode $.get() de jQuery, les résultats peuvent être mis en cache par le navigateur. Cela peut entraîner l'affichage de données obsolètes lors de requêtes ultérieures.
Piratage : ajout d'une chaîne de requête aléatoire
Une solution de contournement courante consiste à ajouter une chaîne aléatoire à la chaîne de requête. , rendant efficacement chaque requête unique et empêchant ainsi la mise en cache. Cependant, cette approche n'est pas idéale en raison de sa nature hacky.
Meilleure solution : $.ajaxSetup
Une manière plus élégante de désactiver la mise en cache du navigateur pour les requêtes AJAX consiste à utilisez la fonction $.ajaxSetup(). En définissant l'option de cache sur false, tous les futurs appels AJAX, quelle que soit la méthode utilisée (par exemple, $.get, $.ajax), verront la mise en cache désactivée.
$.ajaxSetup({ cache: false });
Une fois cette configuration définie, toutes les requêtes AJAX effectuées dans le cadre du document actuel verront automatiquement leur cache désactivé.
Conseils supplémentaires
Si une chaîne unique est toujours requise pour empêcher la mise en cache pour des tâches spécifiques Dans certaines situations, envisagez d'utiliser une séquence de numéros unique ou une valeur hachée basée sur les paramètres de la demande. Cela fournit une approche plus déterministe et lisible par rapport à l'utilisation de new Date().toString().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!