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中调用。请帮忙。我想,我在这里错过了一个巨大的概念。谢谢。
答案 0 :(得分:0)
首先,不要使用global
,这真的是一个不好的做法
其次,如果您有多个用户
,它将不适用于您的情况第三
global.token='';
app.get('/'+global.token,function(req,res){ ...
等于
app.get('/',function(req,res){ ...
路径不会神奇地更新,你应该使用像
这样的东西 app.get('/:token', function(req,res){ ...
和内部函数查找用户token