Saya ingin menggunakan jQuery untuk menghapus cookie; Saya sudah mencoba ini:
$.cookie('name', '', { expires: -1 });
Namun saat saya menyegarkan halaman, cookie masih ada:
alert('name:' +$.cookie('name'));
Mengapa?
jquery
cookies
jquery-cookie
pengguna319854
sumber
sumber
Jawaban:
Untuk menghapus cookie dengan JQuery, setel nilainya menjadi null:
$.cookie("name", null, { path: '/' });
Edit: Solusi terakhir adalah secara eksplisit menentukan
path
properti setiap kali mengakses cookie, karena OP mengakses cookie dari beberapa halaman di direktori yang berbeda, dan dengan demikian jalur default berbeda (ini tidak dijelaskan dalam pertanyaan asli). Solusinya ditemukan dalam diskusi di bawah ini, yang menjelaskan mengapa jawaban ini diterima - meskipun tidak benar.Untuk beberapa versi cookie jQ, solusi di atas akan menyetel cookie ke string null. Jadi tidak menghapus cookie. Gunakan kode seperti yang disarankan di bawah ini.
$.removeCookie('the_cookie', { path: '/' });
sumber
if (value === null) { value = '';options.expires = -1;}
, bahwa apa yang terjadi di dalam fungsi pengolahan, sehingga mereka seharusnya melakukan hal yang sama. (parameternya(name, value, options)
)path
di opsi untuk kedua perintah, karena defaultnya ke jalur halaman saat ini. Uji dengan menyetel ke root domain Anda di semua tempat di mana cookie dibaca dan ditulis:$.cookie('name', value, {path:'/'})
$.removeCookie('cookie_name')
tidak.Anda dapat mencoba ini:
$.removeCookie('the_cookie', { path: '/' });
sumber: https://github.com/carhartl/jquery-cookie#readme
sumber
Anda juga dapat menghapus cookie tanpa menggunakan plugin jquery.cookie:
document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
sumber
ini adalah masalah kesalahpahaman tentang cookie. Browser mengenali nilai cookie tidak hanya untuk kunci juga membandingkan jalur opsi & domain. Jadi Browser mengenali nilai yang berbeda nilai cookie mana yang kuncinya adalah 'name' dengan opsi pengaturan server (path = '/'; domain = 'mydomain.com') dan kuncinya adalah 'name' tanpa opsi.
sumber
Coba ini
$.cookie('_cookieName', null, { path: '/' });
{Path: '/'} melakukan pekerjaan untuk Anda
sumber
Bekerja untuk saya hanya jika
path
diatur, yaitu:$.cookie('name', null, {path:'/'})
sumber
Apa yang Anda lakukan sudah benar, masalahnya ada di tempat lain, misalnya cookie disetel lagi entah bagaimana saat disegarkan.
sumber