node.js中的全局变量和局部变量

时间:2014-06-11 06:04:07

标签: node.js password-recovery

global.token='';
app.get('/'+global.token,function(req,res){
                console.log(token);
                res.sendfile('mail3/reg.html');
});
socket.on('email',function(un){
                global.token=randtoken.generate(16);
                console.log(global.token);
                connection.query('update user_login set token="'+token+'" where email="'+un+'";');
});

在以下代码中,当用户输入他的电子邮件ID(针对该特定用户)时,我将生成一个令牌。现在,当他点击该链接时,应打开“密码更改”页面。然而,这并没有发生。在'email'事件中,生成令牌并更新用户表,但不在app.get中调用。请帮忙。我想,我在这里错过了一个巨大的概念。谢谢。

1 个答案:

答案 0 :(得分:0)

首先,不要使用global,这真的是一个不好的做法

其次,如果您有多个用户

,它将不适用于您的情况

第三

 global.token='';
 app.get('/'+global.token,function(req,res){ ...

等于

 app.get('/',function(req,res){ ...

路径不会神奇地更新,你应该使用像

这样的东西
 app.get('/:token', function(req,res){ ...

和内部函数查找用户token