jQuery, biscotti di cancellazione
-
01-10-2019 - |
Domanda
Voglio usare jQuery per i biscotti di cancellazione; Ho provato questo
$.cookie('name', '', { expires: -1 });
Poi ho aggiornare la pagina e il cookie è ancora lì:
alert('name:' +$.cookie('name'));
Perché? Grazie
Soluzione
Per eliminare un cookie con jQuery, impostare il valore null:
$.cookie("name", null, { path: '/' });
Modifica La soluzione finale è stato quello di specificare in modo esplicito la proprietà path
ogni volta che accede al biscotto, perché l'OP accede al cookie di più pagine in diverse directory, e quindi i percorsi predefiniti erano diverse (questo è stato non descritto nella domanda iniziale). La soluzione è stata scoperta in discussione qui sotto, il che spiega il motivo per cui questa risposta è stata accettata -. Nonostante non sia corretta ??p>
Per alcune versioni JQ biscotto soluzione sopra imposterà il cookie per nulla stringa. Così non rimuovere il cookie. Usa il codice come suggerito posto qui sotto.
$.removeCookie('the_cookie', { path: '/' });
Altri suggerimenti
Si può provare questo:
$.removeCookie('the_cookie', { path: '/' });
È possibile anche cancellare i cookie senza l'utilizzo di plug-in jquery.cookie:
document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
è il problema di fraintendono di biscotto. Browser riconoscono i valori dei cookie non solo per le chiavi confrontare anche il percorso opzioni e di dominio. Così browser riconoscono valore diverso, che i valori dei cookie che chiave è 'nome' opzione impostazione del server (path = '/'; domain = 'mydomain.com') con e chiave è 'nome' con nessuna opzione
.Prova questo
$.cookie('_cookieName', null, { path: '/' });
La {percorso: '/'} fare il lavoro per voi
Ha lavorato per me solo quando path
è stato impostato, cioè:.
$.cookie('name', null, {path:'/'})
Quello che state facendo è corretto, il problema è da qualche altra parte, ad esempio, il cookie viene impostata di nuovo in qualche modo su Aggiorna.