Javascript 无法在浏览器中更改快速会话到期日期

Javascript 无法在浏览器中更改快速会话到期日期,javascript,node.js,express,cookies,Javascript,Node.js,Express,Cookies,我正在项目中使用express session。 假设在web浏览器和node js服务器之间实例化了一个会话,默认过期时间为一小时。 浏览器中现在有一个名为connect.sid的cookie 我需要一个函数来扩展用户浏览器和节点js中的过期日期时间。 怎么可能呢 我用以下方法在服务器端完成了它,但它并没有反映在用户浏览器中。 是否有可能将新的到期日期时间推送到用户浏览器cookie var hour = 3600000; req.session.cookie.expires = new Da

我正在项目中使用express session。 假设在web浏览器和node js服务器之间实例化了一个会话,默认过期时间为一小时。 浏览器中现在有一个名为connect.sid的cookie

我需要一个函数来扩展用户浏览器和节点js中的过期日期时间。 怎么可能呢

我用以下方法在服务器端完成了它,但它并没有反映在用户浏览器中。 是否有可能将新的到期日期时间推送到用户浏览器cookie

var hour = 3600000;
req.session.cookie.expires = new Date(Date.now() + hour);
req.session.cookie.maxAge = hour;

在浏览器中读取/写入cookie与在node.js中操作cookie的方式略有不同。在浏览器中,cookie存储为
文档
对象的属性,即
文档.cookie
,作为由分号分隔的键值对字符串

下面是一个简单的函数,可用于创建/修改cookie(浏览器处理覆盖现有cookie的逻辑):

因此,在您的情况下,您只需调用:

var hour = 3600000;
createCookie('expires', new Date(Date.now() + hour), 1); // I've arbitrarily chosen one day as the expiry here
createCookie('maxAge', hour, 1); // here too
或者类似的东西。希望这有帮助

var hour = 3600000;
createCookie('expires', new Date(Date.now() + hour), 1); // I've arbitrarily chosen one day as the expiry here
createCookie('maxAge', hour, 1); // here too