gpt4 book ai didi

javascript - 在 javaScript 中创建用户方法时出现 firebase.auth() 错误

转载 作者:行者123 更新时间:2023-11-30 13:44:16 25 4
gpt4 key购买 nike

这是我使用 firebase 身份验证为 web 注册页面的 java 脚本。当我填写电子邮件和密码时,直到 Alert message Testing 将执行,但 firebase.auth() ..... 它会不执行,页面会自动刷新。

    var email=document.getElementById("inemail").value;
var password=document.getElementById("inpass").value;
var password1=document.getElementById("inpass1").value;
var lPassword=password.length;
var lPassword1=password1.length;
if(lPassword < 7)
{
alert("Password Should more than seven Charecter");
return;
}

else if(password!=password1){
alert("Correctly Enter the Password");
return;
}
else if(password==password1 || lPassword1==lPassword)
{
alert("Testing");
firebase.auth().createUserWithEmailAndPassword(email.toString(),password.toString()).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode == 'auth/weak-password') {
alert('The password is too weak.');
} else {
alert(errorMessage);
}
console.log(error);
});

firebase.auth().onAuthStateChanged(function(user) {
if (user) {
var email = user.email;
alert("Sucessfully Created");
}
else {
alert("sorry Try again");
}

});

}

}

这个脚本有什么错误吗?如果有错误请帮我找出来。

最佳答案

正如 Ticherhaz 在他的评论中解释的那样,您需要使用 then() Promise 何时检测的方法由异步返回 createUserWithEmailAndPassword()方法实现。

以下应该可以解决问题:

firebase.auth().createUserWithEmailAndPassword(email.toString(),password.toString())
.then(userCredential => {
var email = userCredential.user.email;
alert("Sucessfully Created");
})
.catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode == 'auth/weak-password') {
alert('The password is too weak.');
} else {
alert(errorMessage);
}
console.log(error);
});
}

请注意,如文档中所述,“成功创建用户帐户后,此用户也将登录到您的应用程序”,因此您不需要使用 onAuthStateChanged( ) 在这种情况下是方法


在您上面的一条评论中,您说“仅在警报消息‘测试’此脚本正在执行之前”。实际上,如果新用户创建没有错误,则不会调用传递给 catch() 的拒绝处理程序回调,因此您不会收到关于 createUserWithEmailAndPassword () 已正确执行。为此,您需要 then() 方法。

关于javascript - 在 javaScript 中创建用户方法时出现 firebase.auth() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59609258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com