在JavaScript中获取到的Cookie值看起来像是数字,可能是因为该Cookie的值本身就是数字,或者在设置时没有正确地进行编码。以下是一些基础概念、可能的原因及解决方法:
document.cookie
属性可以读取当前页面的所有Cookie。encodeURIComponent
),否则可能会导致解析错误。以下是一个完整的示例,展示如何设置和获取Cookie:
// 设置Cookie
function setCookie(name, value, days) {
let expires = "";
if (days) {
const date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + encodeURIComponent(value) + expires + "; path=/";
}
// 获取Cookie
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return decodeURIComponent(parts.pop().split(';').shift());
}
// 使用示例
setCookie('username', 'John Doe', 7);
setCookie('score', 100, 7);
console.log(getCookie('username')); // 输出: John Doe
console.log(getCookie('score')); // 输出: 100
通过以上方法,可以确保在JavaScript中正确地设置和获取Cookie值,避免出现值看起来像是数字的问题。
领取专属 10元无门槛券
手把手带您无忧上云