我一直在使用Firebase进行身份验证,只要有以下两种警报方法,我就可以使其正常工作:

var x;
var y;

function boo() {
   if (document.getElementById('email') !== null && document.getElementById('password') !== null) {
      x = document.getElementById("email").value;
      y = document.getElementById('password').value;
      alert(x);
      alert(y);
      const auth = firebase.auth();
      auth.createUserWithEmailAndPassword(x, y);
      } else {
            ...
      }
}


但是,如果删除这两种警报方法,则Firebase中不会发送任何内容或显示任何内容,并且控制台中不会出现任何错误。我希望有人知道发生了什么,因为我不想每次有人注册时都显示电子邮件和密码。

这是HTML:

<form class="signupForm">
    <input type="email" class="inputs" onblur="validateForm()" id="email" required name="email" placeholder="Email" />
    <input type="password" class="inputs" id="password" required name="password" placeholder="Password" />
    <button id="btn" class="buttons" onclick="boo()">Signup</button>
</form>

最佳答案

<form>标记替换为<div>

使用此代码检查错误:

auth.createUserWithEmailAndPassword(email,
password).then(function(user) {
   var user = firebase.auth().currentUser;
   console.log(user); // Optional
}, function(error) {
   // Handle Errors here.
   var errorCode = error.code;
   var errorMessage = error.message;
});


检查您的Firebase配置信息:

  // Initialize Firebase
  // TODO: Replace with your project's customized code snippet
  var config = {
    apiKey: "<API_KEY>",
    authDomain: "<PROJECT_ID>.firebaseapp.com",
    databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
    storageBucket: "<BUCKET>.appspot.com",
    messagingSenderId: "<SENDER_ID>",
  };
  firebase.initializeApp(config);


同样在Firebase控制台->身份验证中,检查是否已启用登录方法电子邮件/密码

javascript - Firebase身份验证不起作用-LMLPHP

09-25 18:47
查看更多