Quiero usar JQuery para eliminar cookies; Intenté esto
$.cookie('name', '', { expires: -1 });
Luego actualizo la página y la cookie sigue ahí:
alert('name:' +$.cookie('name'));
¿Por qué? Gracias
Quiero usar JQuery para eliminar cookies; Intenté esto
$.cookie('name', '', { expires: -1 });
Luego actualizo la página y la cookie sigue ahí:
alert('name:' +$.cookie('name'));
¿Por qué? Gracias
Respuestas:
Para eliminar una cookie con JQuery, establezca el valor en nulo:
$.cookie("name", null, { path: '/' });
Editar: La solución final fue especificar explícitamente la path
propiedad cada vez que se accede a la cookie, porque el OP accede a la cookie desde varias páginas en diferentes directorios y, por lo tanto, las rutas predeterminadas eran diferentes (esto no se describió en la pregunta original). La solución se descubrió en la discusión a continuación, lo que explica por qué se aceptó esta respuesta, a pesar de no ser correcta.
Para algunas versiones de la cookie jQ, la solución anterior establecerá la cookie en una cadena nula. De esta forma no se quita la cookie. Utilice el código como se sugiere a continuación.
$.removeCookie('the_cookie', { path: '/' });
if (value === null) { value = '';options.expires = -1;}
eso es lo que va dentro de la función de procesamiento, por lo que se supone que deben realizar lo mismo. (los parámetros son (name, value, options)
)
path
en las opciones de ambos comandos, ya que el valor predeterminado es la ruta de la página actual. Pruebe estableciendo la raíz de su dominio en todos los lugares donde se lee y escribe la cookie:$.cookie('name', value, {path:'/'})
$.removeCookie('cookie_name')
hace.
Puedes probar esto:
$.removeCookie('the_cookie', { path: '/' });
También puede eliminar las cookies sin usar el complemento jquery.cookie:
document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
es el problema del malentendido de las cookies. Los navegadores reconocen los valores de las cookies no solo para las claves, sino que también comparan las opciones, ruta y dominio. Por lo tanto, los navegadores reconocen diferentes valores de cookies, esa clave es 'nombre' con la opción de configuración del servidor (ruta = '/'; dominio = 'midominio.com') y la clave es 'nombre' sin opción.
Prueba esto
$.cookie('_cookieName', null, { path: '/' });
La {ruta: '/'} hace el trabajo por ti
Funcionó para mí solo cuando path
se configuró, es decir:
$.cookie('name', null, {path:'/'})
Lo que está haciendo es correcto, el problema está en otro lugar, por ejemplo, la cookie se está configurando nuevamente de alguna manera al actualizar.