【问题标题】:Global and Local Variables in node.jsnode.js 中的全局变量和局部变量
【发布时间】:2014-06-11 06:04:06
【问题描述】:
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(针对该特定用户)时,我会生成一个令牌。现在,当他点击链接时,应该会打开“更改密码”页面。然而,这并没有发生。在“电子邮件”事件中,生成令牌并更新用户表,但不会在 app.get 中调用。请帮忙。我想,我在这里错过了一个巨大的概念。谢谢。

【问题讨论】:

    标签: node.js password-recovery


    【解决方案1】:

    首先,不要使用global,这确实是个坏习惯

    其次,如果您的用户不止一个,它在您的情况下将不起作用

    第三:

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

    等于

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

    路径不会神奇地更新,你应该使用类似的东西

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

    token的内部函数查找用户

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2019-04-04
      • 2013-10-06
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多