我在Nodejs服务器中有这个router.delete来注销,所以req.session进入完整状态,然后成功销毁。问题是当我使用res.send((发送会话或消息时,它不起作用:
router.delete('/logout', async(req,res) => {
console.log(req.session)
req.session.destroy()
res.send({ session: req.session });
console.log(req.session)
res.end()
});
我试着在react前端显示来自路由器的数据,就像这样,它告诉我标题中写的错误:
const LogoutSession = async(e) =>{
e.preventDefault();
const response = await fetch(`http://localhost:3001/logout`, {
method:"DELETE",
})
console.log(response.data.session)
}
我找到了解决方案,我使用.json方法以这种方式将数据发送到前端:
router.delete('/logout', async(req,res) => {
try {
console.log(sess)
sess = null
console.log(sess)
res.status(200).json({code: 200, message: 'loggedout', session1:
sess})
} catch (err) {
console.log(err)
}
res.end()
});
然后我在前端使用了它:
const LogoutSession = async(e) =>{
e.preventDefault();
const response = await fetch(`http://localhost:3001/logout`, {
method:"DELETE",
})
const data = await response.json();
if(data.session1 === null){
history.push('/')
}
}