Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

320
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda