Javascript Firebase无法使用电子邮件和密码注册用户
我正在使用firebase在我的网站上使用电子邮件和密码注册用户。我已在控制台上启用电子邮件和密码注册。当我在网页上注册用户时,用户电子邮件和密码不会传递给Firebase,也不会显示任何错误 她是我的前端代码Javascript Firebase无法使用电子邮件和密码注册用户,javascript,html,firebase,Javascript,Html,Firebase,我正在使用firebase在我的网站上使用电子邮件和密码注册用户。我已在控制台上启用电子邮件和密码注册。当我在网页上注册用户时,用户电子邮件和密码不会传递给Firebase,也不会显示任何错误 她是我的前端代码 <!DOCTYPE html> <html> <head> <title>Registration </title> <link rel="stylesheet" type="text/css" href="sty
<!DOCTYPE html>
<html>
<head>
<title>Registration </title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="https://www.gstatic.com/firebasejs/5.8.6/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.8.6/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.8.6/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.8.6/firebase-database.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="signup.js" defer></script>
</head>
<body>
<form id="form">
<div class="header">
<h2>Sign up as a Language Learner</h2>
</div>
<div class="input">
<input id="username" type="text" name="username" placeholder="Username">
</div>
<div class="input">
<input id="email" type="email" name="email" placeholder="Email">
</div>
<div class="input">
<input id="password1" type="password" name="password_1" placeholder="Password">
</div>
<div class="input">
<input id="password2" type="password" name="password_2" placeholder="Confirm Password">
</div>
<div>
<p id="message">
</p>
</div>
<div class="input">
<button id="register_button" class="btn" name="signup">Register</button>
<p class="input">Already a member? <a href="login.html">Sign in</a>
  <a href="/">Cancel</a>
</p>
</div>
</form>
<div id="signup_success">
<h2>Sign-up Successful!</h2>
</div>
</body>
</html>
我使用控制台中的数据进行了正确的配置设置。如果我去掉register\u button.onclick=function()
,则执行firebase.auth().createUserWithEmailAndPassword
。我试图添加register\u按钮代码>在最后,它也不起作用
我不知道这有什么问题,非常感谢您的帮助和建议。提前谢谢
*编辑:多亏了下面的@Fire-in-D-Hole,这是因为我在HTML中使用了标记,将标记与我们在Firebase上提交的内容弄乱了。经验教训:使用Firebase时切勿使用。您需要使用.onAuthStateChanged
观察者来处理登录状态更改。您的代码绝对正确。但是,方法createUserWithEmailAndPassword(email,password1)
中似乎有一个额外的空间,这导致了问题
请将其更改为createUserWithEmailAndPassword(email,password1)
此外,当我单击Register时,您似乎正在使用表单标记
,并且这些值显示在地址栏中(见下文)。建议您检查,因为您可能不想在地址栏中显示详细信息。
用户注册屏幕截图:
最后,您使用两个字段作为密码,确保您编写了两个密码字段必须匹配的逻辑。在下面添加我尝试过的代码,但它没有表单标记
var password2=document.querySelector(“#password2”).value;
var register_button=document.querySelector(“register_button”);
变量配置={
阿皮奇:“111”,
authDomain:“1111”,
数据库URL:“1111”,
投射物:“1111”,
storageBucket:“11111”,
messagingSenderId:“111”
};
firebase.initializeApp(配置);
register\u button.onclick=函数(){
var email=document.querySelector(“#email”).value;
var password1=document.querySelector(“#password1”).value;
var password2=document.querySelector(“#password2”).value;
//警报(“heyman im in register button”);
//控制台日志(“电子邮件”+电子邮件);
//console.log(“password1值”+password1);
//log(“password2值”+password2);
firebase.auth().createUserWithEmailAndPassword(电子邮件,密码1).catch(函数(错误){
//警惕(“你好”);
var errorCode=error.code;
var errorMessage=error.message;
document.querySelector(“#message”).innerHTML=errorCode+”:“+errorMessage;
});
}
登记处
注册成为语言学习者
登记
已经是会员了吗?
 
注册成功!
它是如何工作的?你有错误吗?我很怀疑这是答案。这个问题是关于无法创建帐户和登录。嗨,Ron,我如何为用户注册实现.onAuthStateChanged?谢谢
var password2 = document.querySelector("#password2").value;
var register_button = document.querySelector("#register_button");
var config = {
apiKey: "111",
authDomain: "222",
databaseURL: "333",
projectId: "444",
storageBucket: "555",
messagingSenderId: "666"
};
firebase.initializeApp(config);
register_button.onclick = function() {
var email = document.querySelector("#email").value;
var password1 = document.querySelector("#password1").value;
firebase.auth().createUserWithEmailAndPassword(email, password1).catch(function(error) {
alert("hello");
var errorCode = error.code;
var errorMessage = error.message;
document.querySelector("#message").innerHTML = errorCode + ": " + errorMessage;
})
}