Je souhaite utiliser JQuery pour supprimer les cookies; J'ai essayé ça
$.cookie('name', '', { expires: -1 });
Ensuite, je rafraîchis la page et le cookie est toujours là:
alert('name:' +$.cookie('name'));
Pourquoi? Merci
Je souhaite utiliser JQuery pour supprimer les cookies; J'ai essayé ça
$.cookie('name', '', { expires: -1 });
Ensuite, je rafraîchis la page et le cookie est toujours là:
alert('name:' +$.cookie('name'));
Pourquoi? Merci
Réponses:
Pour supprimer un cookie avec JQuery, définissez la valeur sur null:
$.cookie("name", null, { path: '/' });
Edit: La solution finale était de spécifier explicitement la path
propriété chaque fois que vous accédez au cookie, car l'OP accède au cookie à partir de plusieurs pages dans différents répertoires, et donc les chemins par défaut étaient différents (cela n'a pas été décrit dans la question d'origine). La solution a été découverte dans la discussion ci-dessous, ce qui explique pourquoi cette réponse a été acceptée - bien qu'elle ne soit pas correcte.
Pour certaines versions de cookie jQ, la solution ci-dessus définira le cookie sur la chaîne null. Ne supprimant donc pas le cookie. Utilisez plutôt le code suggéré ci-dessous.
$.removeCookie('the_cookie', { path: '/' });
if (value === null) { value = '';options.expires = -1;}
que ce qui se passe à l' intérieur de la fonction de traitement, de sorte qu'ils sont censés effectuer les mêmes. (les paramètres sont (name, value, options)
)
path
les options dans les deux commandes, car il correspond par défaut au chemin de la page actuelle. Testez en définissant la racine de votre domaine à la fois dans tous les endroits où le cookie est lu et écrit:$.cookie('name', value, {path:'/'})
$.removeCookie('cookie_name')
Est-ce que.
Vous pouvez essayer ceci:
$.removeCookie('the_cookie', { path: '/' });
Vous pouvez également supprimer les cookies sans utiliser le plugin jquery.cookie:
document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
c'est le problème de l'incompréhension du cookie. Les navigateurs reconnaissent les valeurs des cookies non seulement pour les clés et comparent également le chemin et le domaine des options. Ainsi, les navigateurs reconnaissent une valeur différente dont la valeur de cookie est «nom» avec l'option de configuration du serveur (chemin = «/»; domaine = «mondomaine.com») et la clé est «nom» sans option.
Essaye ça
$.cookie('_cookieName', null, { path: '/' });
Le {chemin: '/'} fait le travail pour vous
A travaillé pour moi uniquement quand a path
été défini, c'est-à-dire:
$.cookie('name', null, {path:'/'})
Ce que vous faites est correct, le problème est ailleurs, par exemple, le cookie est à nouveau défini lors de l'actualisation.