jquery, Cookies löschen
-
01-10-2019 - |
Frage
Ich möchte JQuery verwenden, um Cookies löschen; Ich habe versucht, dieses
$.cookie('name', '', { expires: -1 });
Dann aktualisiere ich die Seite und das Cookie ist noch da:
alert('name:' +$.cookie('name'));
Warum? Dank
Lösung
Um ein Cookie mit JQuery zu löschen, um den Wert auf null gesetzt:
$.cookie("name", null, { path: '/' });
Edit: Die endgültige Lösung wurde explizit die path
Eigenschaft angeben, wenn das Cookie zugreifen, da die OP das Cookie von mehreren Seiten in verschiedenen Verzeichnissen zugreift und damit die Standardpfade unterschiedlich waren (das war nicht in der ursprünglichen Frage beschrieben). Die Lösung wurde in der Diskussion unten entdeckt, was erklärt, warum diese Antwort akzeptiert wurde -. Trotz nicht korrekt zu sein
Für einige Versionen jQ Cookies über die Lösung wird das Cookie String null gesetzt. So wird nicht das Cookie zu entfernen. Verwenden Sie den Code wie unten stattdessen vorgeschlagen.
$.removeCookie('the_cookie', { path: '/' });
Andere Tipps
Sie können versuchen, diese:
$.removeCookie('the_cookie', { path: '/' });
Sie können auch Cookies löschen, ohne jquery.cookie Plugin:
document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
Es ist das Problem des misunderstand von Cookies. Browser erkennt Cookie-Werte für nicht nur Tasten auch die Optionen Pfad vergleichen & Domain. So Browser erkennt unterschiedlichen Wert der Cookie-Werte, dass Schlüssel 'name' mit Server Einstellmöglichkeit ist (path = '/'; domain = 'mydomain.com') und Schlüssel 'name' keine andere Wahl
.Versuchen Sie diese
$.cookie('_cookieName', null, { path: '/' });
Der {Pfad: '/'}, um den Job für Sie tun
Für mich arbeiten nur , wenn path
gesetzt wurde, das heißt:.
$.cookie('name', null, {path:'/'})
Was Sie tun, richtig ist, ist das Problem woanders, z.B. das Cookie wird wieder irgendwie auf Refresh gesetzt.