Maison > interface Web > js tutoriel > Résumé des méthodes pour empêcher jQuery ajax Load d'utiliser cache_jquery

Résumé des méthodes pour empêcher jQuery ajax Load d'utiliser cache_jquery

WBOY
Libérer: 2016-05-16 16:58:39
original
996 Les gens l'ont consulté

1. Utilisation
La fonction de chargement de jquery est un appel qui demande un autre fichier et le charge dans le DOM actuel. Le format complet de la méthode de chargement est : load(. url, [data], [callback] ) (notez que s'il n'y a pas de paramètres, c'est une requête GET, et s'il y a des paramètres, c'est une méthode POST).

* url : fait référence à l'adresse du fichier à importer.
* data : paramètre facultatif ; car Load peut non seulement importer des fichiers html statiques, mais aussi des scripts dynamiques, tels que des fichiers PHP, donc lorsque nous voulons importer des fichiers dynamiques, nous pouvons importer les paramètres passés. sont placés ici.
* rappel : paramètre facultatif ; fait référence à une autre fonction qui est exécutée après avoir appelé la méthode de chargement et obtenu une réponse du serveur.

La mise en cache accélère dans une certaine mesure le chargement des pages, mais elle nous pose souvent des problèmes. Dans mon article précédent, j'ai brièvement présenté l'utilisation de la méthode Load dans jQuery. Dans l'application réelle, nous pouvons rencontrer des problèmes de cache du navigateur. Par exemple, j'ai rencontré ce problème dans IE7.

JQuery Load exemple de code :

Copier le code Le code est le suivant :

$(document).ready(function(){
$("#labels").load("/blog/categories/labels.html");
//Quand la page est chargé, dans l'ID Insérez le contenu de labels.html dans l'élément DOM de #labels
});

Après avoir mis à jour labels.html, la méthode de chargement dans IE7 utilise toujours l'ancienne labels.html, cela ne fonctionne pas même si j'appuie sur la touche d'actualisation. Heureusement, jQuery fournit une méthode pour empêcher ajax d'utiliser le cache. Ajoutez l'instruction suivante au fichier javascript principal pour résoudre le problème.
Copier le code Le code est le suivant :

$.ajaxSetup ({
cache : false / /Fermez le cache correspondant AJAX
});

De plus, je présenterai plusieurs méthodes pour résoudre le problème du cache. Remarque : je n'ai pas testé les problèmes de chargement de jQuery, ces méthodes sont uniquement à titre de référence !

1. Modifiez le nom du fichier, par exemple en changeant labels.html en labels_new.html, mais c'est une évidence et généralement personne ne le fait.

2. Ajoutez une heure spécifique après labels.html, telle que labels.html?20081116. Dans le travail réel, après avoir mis à jour le fichier css/javascript, j'utilise toujours cette méthode pour empêcher la mise en cache du fichier.

3. Ajoutez la déclaration suivante en haut du fichier labels.html :


4. La fonction de chargement peut non seulement appeler du HTML, mais aussi appeler des scripts, tels que labels.php. Vous pouvez utiliser la fonction d'en-tête dans le fichier php :

Copier le code Le code est le suivant :
header("Cache-Control : no-cache, must-revalidate") ;
?>


Deux autres solutions :
Ajouter une valeur de paramètre d'heure à l'heure actuelle dans le chemin de la requête ou ajouter un masqué dans le formulaire Field définit la valeur du champ sur l'heure actuelle.
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal