Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor忘记密码的实现_Javascript_Jquery_Meteor_Reactjs - Fatal编程技术网

Javascript Meteor忘记密码的实现

Javascript Meteor忘记密码的实现,javascript,jquery,meteor,reactjs,Javascript,Jquery,Meteor,Reactjs,我正在使用meteor帐户包进行用户管理。我想实现忘记密码功能。为此,我将使用Accounts.forgotPassword(选项,[callback]) 这是我的客户端函数,用于触发忘记密码 > forgetPassword = () => { > let email = this.refs.email.value; > Meteor.call('forgetPassword',email, function(err,list) { > conso

我正在使用meteor帐户包进行用户管理。我想实现忘记密码功能。为此,我将使用Accounts.forgotPassword(选项,[callback])

这是我的客户端函数,用于触发忘记密码

> forgetPassword = () => {
>   let email = this.refs.email.value;
>   Meteor.call('forgetPassword',email, function(err,list) {
>     console.log(err);
>   });   
>}
这是我的服务器端功能

forgetPassword: function(email){
    Accounts.forgotPassword({email: email}, function(err) {
       if (err) {
         if (err.message === 'User not found [403]') {
           console.log('This email does not exist.');
         } else {
           console.log('We are sorry but something went wrong.');
         }
       } else {
         console.log('Email Sent. Check your mailbox.');
       }
     });
  }
当我调用这个函数时,我得到了下面的错误

I20160517-21:33:53.292(5.5)? Exception while invoking method 'forgetPassword' Ty
peError: Object [object Object] has no method 'forgotPassword'
I20160517-21:33:53.293(5.5)?     at [object Object].forgetPassword (meteor://?ap
p/webpack:///C:/wamp/www/avo_eth_v2.1/modules/TruthHurts/server/methods/user-met
hods.js:225:5)
I20160517-21:33:53.293(5.5)?     at maybeAuditArgumentChecks (meteor://?app/live
data_server.js:1698:12)
I20160517-21:33:53.293(5.5)?     at meteor://?app/livedata_server.js:708:19
I20160517-21:33:53.294(5.5)?     at [object Object]._.extend.withValue (meteor:/
/?app/packages/meteor/dynamics_nodejs.js:56:1)
I20160517-21:33:53.294(5.5)?     at meteor://?app/livedata_server.js:706:40
I20160517-21:33:53.294(5.5)?     at [object Object]._.extend.withValue (meteor:/
/?app/packages/meteor/dynamics_nodejs.js:56:1)
I20160517-21:33:53.294(5.5)?     at meteor://?app/livedata_server.js:704:46
I20160517-21:33:53.294(5.5)?     at tryCallTwo (C:\Users\sameera\AppData\Local\.
meteor\packages\promise\0.5.1\npm\node_modules\meteor-promise\node_modules\promi
se\lib\core.js:45:5)
I20160517-21:33:53.294(5.5)?     at doResolve (C:\Users\sameera\AppData\Local\.m
eteor\packages\promise\0.5.1\npm\node_modules\meteor-promise\node_modules\promis
e\lib\core.js:171:13)
I20160517-21:33:53.294(5.5)?     at new Promise (C:\Users\sameera\AppData\Local\
.meteor\packages\promise\0.5.1\npm\node_modules\meteor-promise\node_modules\prom
ise\lib\core.js:65:3)

如何实现此功能。请帮助我查看帐户。forgotPassword是一个仅用于客户端的功能。您可以在客户端代码中调用此函数,而不是调用meteor方法:

forget密码=()=>{
让email=this.refs.email.value;
帐户。放弃密码({email:email},函数(e,r){
如果(e){
控制台日志(如原因);
}否则{
//成功
}
}); 
}

帐户。forgotPassword
是一个仅用于客户端的功能。您可以在客户端代码中调用此函数,而不是调用meteor方法:

forget密码=()=>{
让email=this.refs.email.value;
帐户。放弃密码({email:email},函数(e,r){
如果(e){
控制台日志(如原因);
}否则{
//成功
}
}); 
}

太好了,我能修好它。现在我担心的是,一旦我点击电子邮件中的重置密码链接。我正在使用弹出模式设置我的新密码。但一旦我输入新密码并单击设置密码。我收到错误消息说令牌过期了。请分享您的想法以解决此问题。您是否使用
帐户ui
中的内置功能来处理密码重置?“令牌已过期”错误意味着您在密码重置后花费了太长时间来单击链接--令牌具有内置的过期期限。实际上,在查看之前有关此主题的问题时,如果某人已经使用令牌重置其密码(他们是一次性使用令牌),则可能会发生过期错误。实际上,我不认为此错误是由于过期时间超过或任何其他问题造成的。我想这是因为我没有设置帐户。重置密码功能正常。因为当我用生成的令牌手动设置这个函数时。成功了。一旦我想出了生成的电子邮件的重置像令牌过期错误显示。太好了,我能够修复它。现在我担心的是,一旦我点击电子邮件中的重置密码链接。我正在使用弹出模式设置我的新密码。但一旦我输入新密码并单击设置密码。我收到错误消息说令牌过期了。请分享您的想法以解决此问题。您是否使用
帐户ui
中的内置功能来处理密码重置?“令牌已过期”错误意味着您在密码重置后花费了太长时间来单击链接--令牌具有内置的过期期限。实际上,在查看之前有关此主题的问题时,如果某人已经使用令牌重置其密码(他们是一次性使用令牌),则可能会发生过期错误。实际上,我不认为此错误是由于过期时间超过或任何其他问题造成的。我想这是因为我没有设置帐户。重置密码功能正常。因为当我用生成的令牌手动设置这个函数时。成功了。一旦我拿出生成的电子邮件的复位像令牌过期错误显示。