Как мне использовать этот плагин jQuery для удаления куки? - PullRequest
5 голосов
/ 26 октября 2009

Во-первых, чтобы показать куки, я использовал код с electrictoolbox.com .

Затем я создал форму для добавления файла cookie:

<form class="cokies" method="post">
<input class="query" name="q" type="text" />
<input type="submit" name="save" value="saving">
<a>Delete Cookies</a>
</form>
$(document).ready(function(){
$('.cokies a').click(function(){
    $.cookie('q', null);
});

remember('[name=q]');

Эта функция от komodomedia.com :

function remember( selector ){
    $(selector).each(function(){
        //if this item has been cookied, restore it
        var name = $(this).attr('name');
        if( $.cookie( name ) ){
            $(this).val( $.cookie(name) );
        }

        //assign a change function to the item to cookie it
        $(this).change(function(){
            $.cookie(name, $(this).val(), { path: '/', expires: 365 });
        });
    });
}

Проблема в том, что я не могу понять, как удалить cookie.

Ответы [ 4 ]

14 голосов
/ 26 октября 2009

Чтобы удалить cookie, просто установите expires: в отрицательное целочисленное значение.

пример:

$.cookie(name, $(this).val(), { path: '/', expires: -5 });

7 голосов
/ 02 июня 2013

Появились новые версии плагина Cookie, обеспечивающие следующий удобный синтаксис:

$.removeCookie('q');
2 голосов
/ 24 августа 2011

В скрипте Jquery cookie есть ошибка .... Может быть, лучше изменить начало скрипта

jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
    options = options || {};
    if (value === null) {
        value = '';
        options.expires = -1;
        options.path = "/";

    }
 ....

В этом случае вы сможете удалить cookie, как и ожидалось.

1 голос
/ 25 августа 2013

$.removeCookie("COOKIE_NAME",{domain:'.domain.com',path:'/'});

Проверьте путь и домен файла cookie и убедитесь, что вы включили их в дополнительные параметры с помощью плагина $.cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...