Desejo usar JQuery para excluir cookies; Eu tentei isso
$.cookie('name', '', { expires: -1 });
Então eu atualizo a página e o cookie ainda está lá:
alert('name:' +$.cookie('name'));
Por quê? obrigado
Desejo usar JQuery para excluir cookies; Eu tentei isso
$.cookie('name', '', { expires: -1 });
Então eu atualizo a página e o cookie ainda está lá:
alert('name:' +$.cookie('name'));
Por quê? obrigado
Respostas:
Para excluir um cookie com JQuery, defina o valor como null:
$.cookie("name", null, { path: '/' });
Edit: A solução final foi especificar explicitamente a path
propriedade sempre que acessar o cookie, porque o OP acessa o cookie de várias páginas em diretórios diferentes e, portanto, os caminhos padrão eram diferentes (isso não foi descrito na pergunta original). A solução foi descoberta na discussão abaixo, o que explica porque essa resposta foi aceita - apesar de não ser correta.
Para algumas versões do cookie jQ, a solução acima definirá o cookie como string null. Assim não retirando o cookie. Use o código conforme sugerido abaixo.
$.removeCookie('the_cookie', { path: '/' });
if (value === null) { value = '';options.expires = -1;}
que o que se passa dentro da função de processamento, de modo que é suposto para executar a mesma. (os parâmetros são (name, value, options)
)
path
nas opções para ambos os comandos, já que o padrão é o caminho da página atual. Teste definindo como root de seu domínio em todos os lugares onde o cookie é lido e gravado:$.cookie('name', value, {path:'/'})
$.removeCookie('cookie_name')
faz.
Você pode tentar isto:
$.removeCookie('the_cookie', { path: '/' });
Você também pode excluir cookies sem usar o plugin jquery.cookie:
document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
é o problema de mal-entendido de cookie. Os navegadores reconhecem os valores dos cookies não apenas para as chaves, mas também comparam as opções de caminho e domínio. Assim, os navegadores reconhecem valores diferentes de valores de cookie que a chave é 'nome' com a opção de configuração do servidor (caminho = '/'; domínio = 'meudominio.com') e a chave é 'nome' sem opção.
Tente isto
$.cookie('_cookieName', null, { path: '/' });
O {path: '/'} faz o trabalho por você
Funcionou para mim apenas quando path
foi definido, ou seja:
$.cookie('name', null, {path:'/'})
O que você está fazendo está correto, o problema está em outro lugar, por exemplo, o cookie está sendo configurado novamente de alguma forma na atualização.