Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

316
Vistas
¿Cómo puedo saber qué está cambiando el valor de una cookie?

Tengo una pequeña pieza de código javascript que parece estar siendo anulada en algún lugar y no puedo rastrear dónde.

Este fragmento de javascript escribe un valor de cookie y registra tanto el valor de entrada como el valor de cookie resultante:

 function cookieSet(name, val) { const expDays = 365; let d = new Date(); d.setTime(d.getTime() + (expDays * 24 * 60 * 60 * 1000)); let expiry = "expires="+d.toUTCString(); console.log('val:'); console.log(val); document.cookie = name + "=" + val + ";" + expiry; } function cookieGet(cName) { let name = cName + "="; let ca = document.cookie.split(';'); let rVal = ''; for (let i = 0; i < ca.length; i++) { let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { console.log(c); rVal = c.substring(name.length, c.length); break; } } return rVal; } function test() { let val = 0; console.log(val); cookieSet('test', val); console.log(cookieGet('test')); } test();

Cuando lo ejecuto, todas las líneas de console.log generan 0 como valor, incluida la línea que registra la salida de cookieGet('test') después de configurar la cookie, hasta ahora todo bien.

Pero luego, si ejecuto cookieGet('test') en algún lugar más adelante en el código o incluso manualmente en la consola, el resultado es 1.

Además, si verifico manualmente la cookie en la consola del desarrollador del navegador, también informa que la cookie se configuró como 1, aunque todas las líneas de registro indican que se configuró como 0.

Mi primera suposición fue que el valor debe establecerse en otro lugar después de establecerse en la función test(), pero si elimino la línea cookieSet() de la función test() y observo las cookies en la consola del desarrollador, el valor no No se configura en absoluto cuando se ejecuta el script.

Por lo tanto, no parece configurarse en ningún otro lugar que no sea en la función test(), y la función test() siempre registra el valor cuando se configura. Cuando se ejecuta el script, solo veo el registro del valor establecido como 0, no hay registro del valor establecido como 1.

Parece que algo está cambiando misteriosamente el valor en algún lugar después de la línea console.log(cookieGet('test')), pero literalmente no hay nada más en el código que interactúe con la cookie aparte de llamar a cookieGet() para leerlo, así que No estoy seguro de dónde más buscar.

La línea de registro en la función cookieSet() genera la cadena de cookies completa y genera "test=0" cuando se ejecuta como parte del script, pero después de ejecutar el script, si ejecuto cookieGet('test') en la consola , la salida de esa línea es "test=1". Por lo tanto, no parece ser un problema interpretar el valor de la cookie de la cadena de la cookie, el valor real se está configurando incorrectamente en alguna parte.

como puedo saber que pasa aqui??

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda