jquery, удалить куки



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



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


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



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


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

743   8  

8 ответов:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Comments

  1. Игнат
    Игнат 5 лет назад
    Норм статья