Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

324
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!