в jQuery, удалить куки

Я хочу использовать JQuery для удаления cookies ; я пробовал это

$.cookie('name', '', { expires: -1 });

затем я обновляю страницу, и файл cookie все еще там:

alert('name:' +$.cookie('name'));

почему? Спасибо

7 ответов


чтобы удалить файл cookie с помощью JQuery, установите значение null:

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

Edit: окончательное решение состояло в том, чтобы явно указать path свойство при доступе к cookie, потому что OP обращается к cookie с нескольких страниц в разных каталогах, и, следовательно, пути по умолчанию были разными (это не было описано в исходном вопросе). Решение было найдено в обсуждении ниже, что объясняет, почему этот ответ был принят-несмотря на то, что не был правильный.

для некоторых версий jq cookie решение выше установит cookie в строку null. Таким образом, не удаляя куки. Вместо этого используйте код, как показано ниже.

$.removeCookie('the_cookie', { path: '/' });

вы можете попробовать это:

$.removeCookie('the_cookie', { path: '/' });

источник:https://github.com/carhartl/jquery-cookie#readme


вы также можете удалить cookies без использования jquery.плагин куки:

document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';

это проблема неправильного понимания cookie. Браузеры распознают значения cookie не только для ключей, но и сравнивают параметры path & domain. Таким образом, браузеры распознают различное значение, которое значение cookie, что ключ " имя " с параметром настройки сервера(путь='/'; домен= 'mydomain.com') и ключ - это " имя " без опции.


попробуй такое

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

{ path: '/'} сделайте работу за вас


работал на меня только, когда path был установлен, т. е.:

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

то, что вы делаете, правильно, проблема в другом месте, например, cookie снова устанавливается каким-то образом при обновлении.