Domanda Come eliminare il cookie di sessione?


Come dinamicamente, tramite javascript, eliminare un cookie di sessione, senza riavviare manualmente il browser?

Ho letto da qualche parte che il cookie di sessione viene conservato nella memoria del browser e verrà rimosso quando il browser viene chiuso.

// sessionFooCookie is session cookie
// this code does not delete the cookie while the browser is still on
jQuery.cookie('sessionFooCookie', null);

Grazie.

Ulteriori informazioni: lo snippet di codice sopra riportato è a   snippet di codice javascript, utilizzando jQuery   e il suo plugin jQuery.cookie.


44
2017-07-06 07:05


origine


risposte:


Un cookie di sessione è solo un normale cookie senza una data di scadenza. Quelli sono gestiti dal browser per essere validi fino a quando la finestra non viene chiusa o il programma viene chiuso.

Ma se il cookie è a httpOnly cookie (un cookie con il httpOnly parametro impostato), non è possibile leggere, modificare o eliminare dal di fuori del HTTP.


58
2017-07-06 07:20



Assicurati di fornire lo stesso percorso di quando lo hai impostato, ad es.

Ambientazione:

$.cookie('foo','bar', {path: '/'});

Rimozione:

$.cookie('foo', null, {path: '/'});

Nota che

$.cookie('foo', null); 

NON funzionerà, dal momento che in realtà non è lo stesso cookie.

Spero possa aiutare. Lo stesso vale per le altre opzioni dell'hash


32
2017-08-24 11:26



Ci sono problemi noti con IE e Opera che non rimuovono i cookie di sessione quando si imposta la data di scadenza sul passato (che è ciò che fa il plugin del cookie jQuery)

Questo funziona bene in Safari e Mozilla / FireFox.


6
2017-07-06 07:25



puoi farlo impostando la data di scadenza a ieri.

La mia nuova serie di post sui cookie in JavaScript potrebbe aiutarti.

http://www.markusnordhaus.de/2012/01/20/using-cookies-in-javascript-part-1/


2
2018-01-22 13:46



Questo deve essere fatto sul lato server, dove è stato emesso il cookie.


0
2017-07-06 15:51



Cancellare a jQuery cookie:

$(function() {
    var COOKIE_NAME = 'test_cookie';
    var options = { path: '/', expires: 10 };
    $.cookie(COOKIE_NAME, 'test', options); // sets the cookie
    console.log( $.cookie( COOKIE_NAME)); // check the value // returns test
    $.cookie(COOKIE_NAME, null, options);   // deletes the cookie
    console.log( $.cookie( COOKIE_NAME)); // check the value // returns null
});

-3
2017-07-06 14:36