【发布时间】:2018-12-02 22:21:31
【问题描述】:
我正在尝试使用javascript 和HTML 在firebase 中为我的website 创建一个user,如下所示:
我的HTML 代码:
<head>
<script src="https://www.gstatic.com/firebasejs/4.13.0/firebase.js"></script>
<script>
// Initialize Firebase
var config =
{
apiKey: "myKey",
authDomain: "myDomain",
databaseURL: "myDatabaseUrl",
projectId: "myProjectId",
storageBucket: "myStorageBucket",
messagingSenderId: "myMessagingSenderId"
};
firebase.initializeApp(config);
</script>
<script src = "signUpScript.js"></script>
</head>
<body>
<input type="button" value="SignUp" onclick = "signUpButton_TouchUpInside()">
</body>
这是我的javascript:
function signUpButton_TouchUpInside()
{
var userEmail = document.getElementById("emailTextFieldSignUp").value;
var userPassword = document.getElementById("passwordTextFieldSignUp").value;
var userName = document.getElementById("nameTextFieldSignUp").value;
window.alert("test1"); // does get called
firebase.auth().createUserWithEmailAndPassword(userEmail, userPassword).catch(function(error)
{
window.alert("test2"); // doesnt get called
if (error)
{
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
window.alert("There went something wrong : " + errorMessage);
// ...
}
else
{
window.alert("test3"); // doesnt get called
setUserInfo("", "", userName, userEmail, "1"); // How do I get the uid of the user which was just created?
}
});
}
function setUserInfo(profileImageUrl, profileBannerUrl, username, email, uid)
{
var userId = firebase.auth().currentUser.uid;
var ref = firebase.database().ref();
var userRef = ref.child("users").child(userId);
userRef.set({
username: username,
username_lowercase: username.toLowerCase().replace(" ", ""),
email: email,
profileImageUrl: profileImageUrl,
profileBannerUrl: profileBannerUrl
}, function(error)
{
if (error)
{
var errorMessage = error.message;
window.alert("There went something wrong : " + errorMessage);
}
else
{
window.alert("Account successfully created");
}
});
}
出于某种原因,它甚至没有调用createUserWithEmailAndPassword 函数。
所以我有两个问题:
为什么没有调用函数?
如果确实被调用,我将如何访问刚刚创建的用户的
uid?
【问题讨论】:
-
你有堆栈跟踪吗?
-
老实说,我什至不知道那是什么。我很新,对不起
-
你共享的代码都没有调用
signUpButton_TouchUpInside,所以如果createUserWithEmailAndPassword没有被调用,那就可以解释了。你有没有把它连接到 HTML 的某个地方?如果是这样,请也为此共享最小的 HTML。一般来说,看看how to create a minimal complete verifiable example。因为这是提高这里有人可以提供帮助的机会的最佳方式。 -
好的,我编辑了我的问题。我现在添加了我的 HTML 代码
标签: javascript html firebase firebase-realtime-database firebase-authentication