首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >擦除cookie-session中另一个路由中的cookie变量

擦除cookie-session中另一个路由中的cookie变量
EN

Stack Overflow用户
提问于 2018-08-01 01:57:26
回答 1查看 35关注 0票数 0

假设我有一个简单的页面,它存储了页面在cookie中被浏览的次数(代码来自cookie-session github自述文件):

代码语言:javascript
复制
var cookieSession = require('cookie-session')
var express = require('express')

var app = express()

app.set('trust proxy', 1) // trust first proxy

app.use(cookieSession({
  name: 'session',
  keys: ['key1', 'key2']
}))

app.get('/', function (req, res, next) {
  // Update views
  req.session.views = (req.session.views || 0) + 1

  // Write response
  res.end(req.session.views + ' views')
})

app.listen(3000)

然后,我想创建另一个路由,它将简单地删除前一个路由上的计数器:

代码语言:javascript
复制
app.get('/d', function(req, res, next) {
    req.session.views = 0
    console.log(req.session.views)
});

但是,这样做后,我仍然会得到'/'路由上计数的浏览量,而在'/d'路由上,它是0。如何从一个路由更改另一个路由的cookie会话参数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-01 06:08:11

您似乎没有在第二个路由上发送任何响应,根据文档(https://github.com/expressjs/cookie-session#cookiesessionoptions),这意味着不会发送任何cookie,并且您的会话将保持不变。

因此,擦除计数器的路径可能如下所示:

代码语言:javascript
复制
app.get('/d', function(req, res, next) {
  req.session.views = 0
  res.end('View counter has been reset to 0')
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51619386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档