我想获取当前登录用户的电子邮件,并将其保存到我的node/express后端上的一个变量中。然后我想在另一个js文件中使用这个变量,这样我就可以将它用作mongodb集合。这是否只适用于get请求而不适用于post请求?
我已经尝试过module.exports,申请会话护照,
//this works, findUser would log the user id
var findUser;
router.get('/dashboard', (req,res)=>{
findUser = req.user.id;
//findUser = req.session.passport.user;
console.log(findUser);
res.send(req.user);
});
// this does not work, returns undefined
users js file
// module.exports.findUser;
module.exports.findUser = req.user.id;
// post.js file
var sourceFile = require('./users');
console.log(sourceFile.findUser);
我原以为用户登录后,var会跨js文件保存。这是一个cookie会话问题吗?为什么不能创建一个函数来获取当前用户,而不是get请求呢?
发布于 2019-06-24 09:09:56
你应该做的是:module.exports = req.user.id
。然后,只需要将它作为相同的!const userId = require('./file.js')
。
如果您有多个导出,则可以使用module.exports = {id: req.user.id, password: req.user.password}
。导入时,请这样做:const user = require('./file.js') console.log(user.id, user.password)
https://stackoverflow.com/questions/56728490
复制相似问题