gpt4 book ai didi

javascript - 使用 moment.toDate() 时,在 Express 4.13.4 中忽略 Cookie 过期日期

转载 作者:搜寻专家 更新时间:2023-11-01 00:00:11 28 4
gpt4 key购买 nike

我正在尝试设置一个特定有效期为 3 个月的 cookie。我可以很好地设置 cookie,但为它设置的到期时间不起作用。

我已经使用 momentJS 在我想要的时间创建了一个日期对象。正确的时间正在从控制台输出,但 cookie 没有正确的值,它的值将在几分钟后过期,而不是从该日期起的 3 个月后过期。

// Create the date the cookies will expire on
var cookieDate = moment().add(6, 'months').toDate();
console.log(cookieDate);
res.cookie('username', user.username, { expires: cookieDate });

我查看了文档,它只是要求将 Date 对象传递给它。

我也在 stackoverflow 上四处寻找,我唯一能找到的是 this它告诉 OP 使用 req.session.cookie 这似乎不正确,因为您应该在响应客户端而不是在 session 中设置 cookie。

最佳答案

我通过反复试验发现 moment.toDate() 创建的日期对象可能是一个有效的日期对象,但 Express 不接受它。

以下代码修复了错误:

var cookieDate = new Date(moment().add(6, 'months').toDate());
res.cookie('username', user.username, { expires: cookieDate });

关于javascript - 使用 moment.toDate() 时,在 Express 4.13.4 中忽略 Cookie 过期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36899310/

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