gpt4 book ai didi

javascript - 读取从 NewCookie() 创建的 cookie

转载 作者:搜寻专家 更新时间:2023-11-01 04:36:24 25 4
gpt4 key购买 nike

我使用 Newcookie() 创建了一个 cookie,我可以通过浏览器访问它,如下所示。现在我需要读取 cookie enter image description here

    function getCookieValue(cookieName) {
console.log("=====getCookieValue=======");
var name = cookieName + "=";
var cookies = document.cookie.split(';');
console.log("=====ALL cookies======="+cookies);
if (!cookies) {
return null;
}
console.log("=====cookies.length======="+cookies.length);
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
console.log("=====cookies======="+cookies[0]);
if (cookie.indexOf(name) == 0) {
return cookie.substring(name.length, cookie.length);
}
}
return null;
}

但是通过使用该方法我无法读取 cookie。请就此给我建议。谢谢

最佳答案

你的功能几乎是完美的。你只需要改变这一行:

document.cookie.split(';');

您可以通过运行上述语句在控制台中检查结果:您将获得一个包含所有 cookie 的数组但每个 cookie 前面都有一个空格。这就是为什么比较

if (cookie.indexOf(name) == 0)

没有像预期的那样工作,因为预期的子字符串不是从位置 0 而是从 1 开始。

因此,您需要用一个分号和一个空格而不是单个分号来拆分 cookie 列表。我不确定所有浏览器,所以我认为最安全的方法是使用检查可选空格的 RegExp:

document.cookie.split(/;\s?/);

关于javascript - 读取从 NewCookie() 创建的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30069562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com