Вопрос

Я хочу использовать jQuery для удаления файлов cookie; Я попробовал это

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

Тогда я обновляю страницу, и печенье все еще там:

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

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

Это было полезно?

Решение

Чтобы удалить файл cookie с jQuery, установите значение null:

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

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

Для некоторых версий JQ Cookie Sheade выше будет установлено cookie для строки NULL. Таким образом, не удаляя печенье. Используйте код, как указано ниже.

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

Другие советы

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

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

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

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

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

Это проблема неправильного понятия печенья. Браузеры распознают значения файлов cookie для не только клавишных клавиш, также сравнивайте путь к вариантам и домену. Таким образом, браузеры распознают другое значение, которое значения файлов cookie, которые ключ - «имя» с опцией настройки сервера (PATH = '/'; Domain = 'mydomain.com), и ключ - «name» без опции.

Попробуй это

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

{Путь: '/'} сделать работу для вас

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

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

То, что вы делаете правильно, проблема где-то еще, например, cookie снова настроен на обновление.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top