Meteor:必须通过options.email未捕获错误

Bar*_*yle 0 javascript forms forgot-password password-recovery meteor

我正在使用Meteor进行自定义登录系统,使用该Accounts.forgotPassword()功能时遇到以下错误: Uncaught Error: Must pass options.email

这是我在相对html方面的内容:

<form id="recovery-form" action="action" class="form-horizontal">
    <h4>Recover Password</h4>
    <label>Email:</label>
    <input id ="recoveryEmail" type="text" name="recoveryEmail">
    <input id="sendResetInstructionbtn" class="btn btn-default loginbtn" type="submit" value="Send Reset Instructions">
</form>
Run Code Online (Sandbox Code Playgroud)

这是提交功能:

'submit #recovery-form': function(event, template) {
    event.preventDefault();
    var validated = true;
        email = trimInput(template.find('#recoveryEmail').value);

    if(email === "") {
        alert("Email is empty");
        console.log("Email is empty");
    }

    if (validated) {
        Session.set('loading', true);
        Accounts.forgotPassword({email: email}, function(err) {
            if (err) {
                alert("Password Reset Failed");
                console.log("Password Reset Failed" + err);
            } else {
                alert("Email sent");
                console.log("Email sent, check email");
            }
            Session.set('loading', false);
        });
    }
    return false; // Stops page from reloading
}
Run Code Online (Sandbox Code Playgroud)

它运行正常,直到Accounts.forgotPassword函数

请帮忙,我是一个流星菜鸟.

Fél*_*bon 6

你可以尝试这段代码,它对我有用:

var options = {};
options.email = email;
Accounts.forgotPassword(options, function(error){  
  if (error) { 
    console.log(error);
  }else{
    alert('Check your mailbox!');
  } 
});  
Run Code Online (Sandbox Code Playgroud)