Итак, я пытаюсь сохранить некоторую информацию в сеансе для дальнейшего использования. Но когда я получаю его в ответ, не все возвращается. Несмотря на маршрут получения всех данных.
Мой мыслительный процесс происходит на стороне сервера, когда пользователь входит в систему, сохраняя свой идентификатор в сеансе. Тогда у меня будет маршрут /userinfo
, который сбрасывает все нужные мне данные в json. Затем я могу получить этот маршрут /userinfo
и получить данные в ответе. Мой код выглядит следующим образом:
Вот почтовый индекс для входа, я console.log
, чтобы убедиться, что сессия изменена. Это.
User.authenticate(req.body.logemail, req.body.logpassword, function (error, user) {
if (error || !user) {
var err = new Error('Wrong email or password.');
err.status = 401;
return next(err);
} else {
req.session.userId = user._id;
console.log(req.session);
return res.redirect('/');
}
});
Тогда у меня есть этот маршрут:
app.get('/userinfo', (req, res)=>{
res.json(req.session);
});
Если я просто перейду на localhost:3000/userinfo
, то json будет выглядеть так:
{
"cookie": {
"originalMaxAge": null,
"expires": null,
"httpOnly": true,
"path": "/"
},
"userId": "blahblahblah"
}
так что UserID действительно есть.
Тем не менее, когда я, наконец, пойду за ним, среагируй:
fetch('http://localhost:3000/userinfo')
.then(res => res.json())
.then(data => console.log(data));
Все, что я возвращаю, это печенье. Я не получаю UserId . Я также попытался добавить UserId в файл cookie, просто чтобы посмотреть, сработает ли он, и я просто получил обычный файл cookie.