Я хочу использовать JQuery для удаления файлов cookie; Я попробовал это
$.cookie('name', '', { expires: -1 });
Затем я обновляю страницу, и файл cookie все еще существует:
alert('name:' +$.cookie('name'));
Почему? Благодаря
Я хочу использовать JQuery для удаления файлов cookie; Я попробовал это
$.cookie('name', '', { expires: -1 });
Затем я обновляю страницу, и файл cookie все еще существует:
alert('name:' +$.cookie('name'));
Почему? Благодаря
Чтобы удалить файл cookie с помощью JQuery, установите значение null:
$.cookie("name", null, { path: '/' });
Изменить: Конечным решением было явно указать свойство path
при обращении к куки файлу, поскольку OP обращается к куки файлу с нескольких страниц в разных каталогах, и, таким образом, пути по умолчанию были разными ( это не было описано в первоначальном вопросе). Решение было открыто в обсуждении ниже, что объясняет, почему этот ответ был принят, несмотря на то, что он не был правильным.
Для некоторых версий jQ cookie решение выше установит cookie на строку null. Таким образом, не удаляется файл cookie. Вместо этого используйте код, как предложено ниже.
$.removeCookie('the_cookie', { path: '/' });
Вы можете попробовать следующее:
$.removeCookie('the_cookie', { path: '/' });
Вы также можете удалить файлы cookie без использования jquery.cookie plugin:
document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
это проблема непонимания cookie. Браузеры распознают значения cookie не только для ключей, но и для сравнения пути и домена. Таким образом, браузеры распознают различное значение, значение cookie которого является "именем" с параметром настройки сервера (путь = '/'; domain = 'mydomain.com'), а ключ - "имя" без опции.
Попробуйте это
$.cookie('_cookieName', null, { path: '/' });
{путь: '/'} выполняет эту работу для вас
Работала для меня только, когда был установлен path
, т.е.:
$.cookie('name', null, {path:'/'})
То, что вы делаете, правильно, проблема в другом месте, например. cookie снова устанавливается как-либо при обновлении.