Javascript getCookie function doesn't work properly

Viewed 194

I'm simply trying to read a cookie's value, but I seem to be doing something wrong, but I don't see the problem. The cookie does get properly stored and can be accessed under document.cookie, so that's not the problem. Here's my JS code:

function getCookie(name) {  
  const value = `; ${document.cookie}`;  
  const parts = value.split(`; ${name}=`);  
  if (parts.length === 2) return parts.pop().split(';').shift();  
}  
var value = getCookie(value);  
console.log(value);  
console.log(document.cookie);  
  
d = new Date('20 Oct 2022')  
function setCookie() {  
    document.cookie = `value=10000; expires=${d.toUTCString()}`;  
    console.log("cookie set!");  
}

edit: I found my problem. I was missing the quotation marks… I've never felt this stupid :D

1 Answers

You can use this function:

function getCookie(cname) {
    let name = cname + "=";
    let decodedCookie = decodeURIComponent(document.cookie);
    let ca = decodedCookie.split(';');
    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) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}
Related