Node Express 无法通过 post 请求设置会话

编程入门 行业动态 更新时间:2024-10-23 22:29:28

<a href=https://www.elefans.com/category/jswz/34/1771450.html style=Node Express 无法通过 post 请求设置会话"/>

Node Express 无法通过 post 请求设置会话

我使用node express 4.0实现消息验证码功能。 我使用会话来存储我发送的消息代码。 我按照dos设置session中间件:

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: false
}));
app.use(cookieParser());
app.use(session({secret:'ssssss'}));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/uploads', express.static(path.join(__dirname, 'uploads/temp')));

但是当我用post方法获取msg代码时,发现session没有设置成功

喜欢下面的代码:

router.post('/msgCode', function(req, res) {
   req.session.test = 'test';
   // request send msg code api then response
}

当我重新发布这个路由器时,我发现

req.session.test
是未定义的。

然后我在另一个路由器上试试这个:

router.get('/sendMsgTest', function(req, res) {
    req.session.test = 'test';
    res.json({
        status:0
    })
}

每次我请求

sendMsgTest
,我都能得到
req.session.test
。当我请求另一个
get
方法时,我可以成功获得
req.session.test
值。

那为什么我的post方法不起作用?

回答如下:

我有同样的问题。我一直在使用

fetch
进行请求,默认情况下它不发送 cookie,所以我为 GET 和 POST 请求获得了不同的 cookie id。解决方案是:

fetch(url, {
  credentials: 'same-origin' // or 'include'
});

有关更多信息,请参阅https://developer.mozilla/en-US/docs/Web/API/Request/credentials。

更多推荐

Node Express 无法通过 post 请求设置会话

本文发布于:2024-05-13 15:28:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759860.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Node   Express   post

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!