2014-06-11 3 views
0
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+'";'); 
}); 

Dans le code suivant, je suis la génération d'un jeton lorsqu'un utilisateur entre son ID email (pour cet utilisateur particulier) .Maintenant, quand il clique sur le lien, le « changement de mot de passe La page devrait s'ouvrir. Cela ne se passe pas cependant. Dans l'événement 'email', le jeton est généré et la table utilisateur est mise à jour mais n'est pas appelée dans app.get. S'il vous plaît aider. Je pense qu'il me manque un concept énorme ici. Je vous remercie.variables globales et locales dans Node.js

Répondre

0

Tout d'abord, ne pas utiliser global, il est vraiment une mauvaise pratique

En second lieu, il ne fonctionnera pas dans votre cas si vous aviez plus d'un utilisateur

Troisième:

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

est égal chemin

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

ne va pas mettre à jour comme par magie, vous devriez utiliser quelque chose comme

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

et à l'intérieur utilisateur fonction de recherche par token

Questions connexes