Javascript Firebase.js:身份验证不会';I don’我没有按预期工作
每当用户输入正确的电子邮件/密码时,我都试图在控制台上打印Javascript Firebase.js:身份验证不会';I don’我没有按预期工作,javascript,firebase,firebase-authentication,Javascript,Firebase,Firebase Authentication,每当用户输入正确的电子邮件/密码时,我都试图在控制台上打印Success。我输入了一个错误的信息,但如果用户正确,控制台不会记录成功或附加到错误div document.getElementById("login").addEventListener("click", function(){ var email = $('#email').val(); var password = $('#password').val();
Success
。我输入了一个错误的信息,但如果用户正确,控制台不会记录成功或附加到错误
div
document.getElementById("login").addEventListener("click", function(){
var email = $('#email').val();
var password = $('#password').val();
app.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
if (error) {
console.log(error.message)
$("#errors").append(' <br><div class="uk-alert-danger" uk-alert> <a class="uk-alert-close" uk-close></a> <p>'+ error.message + '</p></div> <br>');
}
$("#errors").append(' <br><div class="uk-alert-success" uk-alert> <a class="uk-alert-close" uk-close></a> <p>Login Success, Welcome</p></div> <br>');
console.log("success")
});
});
document.getElementById(“登录”).addEventListener(“单击”,函数(){
var email=$('#email').val();
var password=$('#password').val();
app.auth(){
//在这里处理错误。
var errorCode=error.code;
var errorMessage=error.message;
如果(错误){
console.log(错误消息)
$(“#errors”).append(“
”+error.message+”
”);
}
$(“#错误”).append(“
登录成功,欢迎光临”);
console.log(“成功”)
});
});
有人能指出我做错了什么吗?这是因为您试图在
catch()
方法中检测成功
由于该方法返回一个承诺,您应该使用then()
方法,如下所示:
document.getElementById("login").addEventListener("click", function(){
var email = $('#email').val();
var password = $('#password').val();
app.auth().signInWithEmailAndPassword(email, password)
.then(function(userCredential) {
console.log(userCredential.user);
$("#errors").append(' <br><div class="uk-alert-success" uk-alert> <a class="uk-alert-close" uk-close></a> <p>Login Success, Welcome</p></div> <br>');
console.log("success")
})
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// if (error) { // Not needed anymore
console.log(error.message)
$("#errors").append(' <br><div class="uk-alert-danger" uk-alert> <a class="uk-alert-close" uk-close></a> <p>'+ error.message + '</p></div> <br>');
});
});
document.getElementById(“登录”).addEventListener(“单击”,函数(){
var email=$('#email').val();
var password=$('#password').val();
app.auth().signiWithEmailandPassword(电子邮件,密码)
.then(功能(用户凭证){
console.log(userCredential.user);
$(“#错误”).append(“
登录成功,欢迎光临”);
console.log(“成功”)
})
.catch(函数(错误){
//在这里处理错误。
var errorCode=error.code;
var errorMessage=error.message;
//if(error){//不再需要
console.log(错误消息)
$(“#errors”).append(“
”+error.message+”
”);
});
});
这是因为您试图在catch()方法中检测成功
由于该方法返回一个承诺,您应该使用then()
方法,如下所示:
document.getElementById("login").addEventListener("click", function(){
var email = $('#email').val();
var password = $('#password').val();
app.auth().signInWithEmailAndPassword(email, password)
.then(function(userCredential) {
console.log(userCredential.user);
$("#errors").append(' <br><div class="uk-alert-success" uk-alert> <a class="uk-alert-close" uk-close></a> <p>Login Success, Welcome</p></div> <br>');
console.log("success")
})
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// if (error) { // Not needed anymore
console.log(error.message)
$("#errors").append(' <br><div class="uk-alert-danger" uk-alert> <a class="uk-alert-close" uk-close></a> <p>'+ error.message + '</p></div> <br>');
});
});
document.getElementById(“登录”).addEventListener(“单击”,函数(){
var email=$('#email').val();
var password=$('#password').val();
app.auth().signiWithEmailandPassword(电子邮件,密码)
.then(功能(用户凭证){
console.log(userCredential.user);
$(“#错误”).append(“
登录成功,欢迎光临”);
console.log(“成功”)
})
.catch(函数(错误){
//在这里处理错误。
var errorCode=error.code;
var errorMessage=error.message;
//if(error){//不再需要
console.log(错误消息)
$(“#errors”).append(“
”+error.message+”
”);
});
});
太棒了,谢谢@excitedmicrobe谢谢!:-)太棒了,谢谢@excitedmicrobe谢谢!:-)