使用VUE + EXPRESS进行的会话未传递值

时间:2019-05-29 20:43:24

标签: node.js express session vue.js

问题是我发布用户名后,我的会话似乎没有更新。所以从这条路线:/get-username我得到一个空的json对象。

首先,我从前端VUE发送此邮件:

            fetch(API_URL + '/login', {
                method: 'post',
                body: JSON.stringify({username: this.username}),
                headers: {'Content-Type': 'application/json'}
            }).then(response => response.json()).then((result) => {
                console.log(result)
            });

            this.$router.push({name: 'game'});
            }

上面的代码在此处发送用户名:

app.post('/login', (req, res) => {        
    req.session.username = req.body.username; // shows the username 
    res.send(req.session)
});

然后,在FETCH POST方法之后,我被推到发生此访存的另一个Vue路由:

    mounted() {
        fetch(API_URL).then(response => response.json()).then(result => {
            console.log(result) // But I get empty {}
        })
    }

上面的代码从此路由中获取价值:

app.get('/get-username', (req, res) => {
    res.json({username: req.session.username});
});

所以问题是/get-username路由会话被删除,或者发生了某些事情,会话忘记了在路由后login中设置的用户名。

0 个答案:

没有答案