Javascript Nodejs全局变量
我在node.js服务器端代码(通过表单提交访问)中的post路由中有一个名为Javascript Nodejs全局变量,javascript,node.js,global-variables,Javascript,Node.js,Global Variables,我在node.js服务器端代码(通过表单提交访问)中的post路由中有一个名为username的变量,我希望在另一个post路由中使用相同的变量 app.post("/login", function(req, res) { var username = req.body.username; ... }); 有什么方法可以做到这一点吗?最好的解决方案是首先在express app中初始化全局变量 app.use(function (req, res, next) { r
username
的变量,我希望在另一个post路由中使用相同的变量
app.post("/login", function(req, res) {
var username = req.body.username;
...
});
有什么方法可以做到这一点吗?最好的解决方案是首先在express app中初始化全局变量
app.use(function (req, res, next) {
res.locals.username = "";
next();
});
在post route中设置此变量
app.post("/login", function(req, res) {
global.username = req.body.username;
});
这似乎是非常破碎的。如果有人先击中了另一条邮政路线,那么它就不会被定义。如果鲍勃打了
/login
,然后爱丽丝打了/login
,然后鲍勃打了把我所有的钱都捐给慈善机构
,那么鲍勃就把爱丽丝所有的钱都花光了。全局变量不正确。请使用sane身份验证系统。你需要治疗@昆汀:谢谢,我会调查的。设置res.locals.username
然后再不使用它是没有意义的。你回答的后半部分确实回答了问题,但似乎不太可能解决OP遇到的任何实际问题(Deep Kakkar在两小时前已经说过你在那里所做的一切)。使用全局变量来跟踪最近登录的用户是没有意义的。
app.post("/login", function(req, res) {
global.username = req.body.username;
});