Javascript 将数据添加到firebase并同时重定向到其他页面
我正在使用Firebase创建一个具有登录/注册功能的网站,问题是当用户创建一个新帐户时,我想将他重定向到主页,同时将他的名字放入Firebase数据库中。用户被重定向到主页,我无法向firebase数据库添加数据 请检查我的密码Javascript 将数据添加到firebase并同时重定向到其他页面,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我正在使用Firebase创建一个具有登录/注册功能的网站,问题是当用户创建一个新帐户时,我想将他重定向到主页,同时将他的名字放入Firebase数据库中。用户被重定向到主页,我无法向firebase数据库添加数据 请检查我的密码 signUp.addEventListener('click',() => { const emailValue = emailField.value; const passValue = passField.value; if(emailValue ===
signUp.addEventListener('click',() => {
const emailValue = emailField.value;
const passValue = passField.value;
if(emailValue === "" && passValue === "" || emailValue !== "" && passValue == "" || emailValue == "" && passValue !== "")
{
alert('Please fill all fields')
}
else {
const auth = firebase.auth();
const promise = auth.createUserWithEmailAndPassword(emailValue,passValue);
promise
.then(() => {
auth.signInWithEmailAndPassword(emailValue,passValue);
let userId = auth.currentUser.uid;
let dataRef = firebase.database().ref('users/' + userId);
dataRef.set({
name: nameField.value
});
console.log('User Signed In');
return './homepage.html';
})
.then((address) => {
window.location.href = address;
})
.catch(e => {
console.log(e.message);
})
}
});
提前感谢:)createUserWithEmailAndPassword返回一个
用户对象
,因此无需重新验证凭据。请试试这个:
signUp.addEventListener('click', () => {
const emailValue = emailField.value;
const passValue = passField.value;
if (emailValue === "" && passValue === "" || emailValue !== "" && passValue == "" || emailValue == "" && passValue !== "") {
alert('Please fill all fields')
} else {
firebase.auth().createUserWithEmailAndPassword(emailValue, passValue).then(function (user) {
const user_data = {
wo: 0
};
const promise = firebase.app().database().ref(`/users/${user.uid}`).set(user_data);
promise.then(() => {
setTimeout(1000);
window.location.href = './homepage.html';
});
}, function (error) {
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorMessage);
});
}
});
我以为它已经包含在问题中,只是删除了;)另外,添加关于您更改/添加了什么以及为什么会有帮助的解释也是有用的。@AndréKool刚刚添加了一个描述,感谢您的评论Hanks alot@d.mares,因为答案只是需要稍微更改您的代码
const userId=firebase.auth().currentUser.uid;const promise=firebase.app().database().ref(
/users/${userId}).set(用户数据)代码中的代码>${user.uid}导致firebase数据库中未索引