Я хочу использовать jQuery для удаления файлов cookie; Я пробовал это:
$.cookie('name', '', { expires: -1 });
Но когда я обновляю страницу, cookie все еще там:
alert('name:' +$.cookie('name'));
Почему?
jquery
cookies
jquery-cookie
user319854
источник
источник
Ответы:
Чтобы удалить cookie с помощью JQuery, установите значение null:
$.cookie("name", null, { path: '/' });
Изменить: окончательное решение заключалось в том, чтобы явно указать
path
свойство при доступе к файлу cookie, поскольку OP обращается к файлу cookie с нескольких страниц в разных каталогах, и, следовательно, пути по умолчанию были разными (это не было описано в исходном вопросе). Решение было обнаружено в обсуждении ниже, что объясняет, почему этот ответ был принят, несмотря на то, что он неверен.Для некоторых версий jQ cookie приведенное выше решение установит для cookie значение null. Таким образом, куки не удаляются. Вместо этого используйте предложенный ниже код.
$.removeCookie('the_cookie', { path: '/' });
источник
if (value === null) { value = '';options.expires = -1;}
то, что входит в функцию обработки, поэтому они должны выполнять то же самое. (параметры есть(name, value, options)
)path
в параметрах обеих команд, так как по умолчанию это путь к текущей странице. Протестируйте, установив корневой каталог вашего домена во всех местах, где файлы cookie читаются и записываются:$.cookie('name', value, {path:'/'})
$.removeCookie('cookie_name')
делает.Вы можете попробовать это:
$.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 не только для ключей, но и сравнивают путь и домен параметров. Таким образом, браузеры распознают разные значения, значения которых для файлов cookie, что ключ - это 'name' с параметром настройки сервера (path = '/'; domain = 'mydomain.com'), а ключ - 'name' без параметра.
источник
Попробуй это
$.cookie('_cookieName', null, { path: '/' });
{Path: '/'} сделает всю работу за вас
источник
Работал у меня только когда
path
был установлен, то есть:$.cookie('name', null, {path:'/'})
источник
То, что вы делаете, правильно, проблема в другом месте, например, файл cookie каким-то образом устанавливается снова при обновлении.
источник