в 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: '/' });
вы также можете удалить cookies без использования jquery.плагин куки:
document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
это проблема неправильного понимания cookie. Браузеры распознают значения cookie не только для ключей, но и сравнивают параметры path & domain. Таким образом, браузеры распознают различное значение, которое значение cookie, что ключ " имя " с параметром настройки сервера(путь='/'; домен= 'mydomain.com') и ключ - это " имя " без опции.
то, что вы делаете, правильно, проблема в другом месте, например, cookie снова устанавливается каким-то образом при обновлении.