我已经通过firebase.auth()使用方法signinwithemailandpassword(email,password)创建了一个简单的login.js。 正确登录后,通过window.open(“ homepage.html”)方法,我打开一个新页面。 在此主页中,如果我使用window.alert(firebase.auth()。currentUser.uid),则会出错,因为currenUser为null。 我想使用观察者
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
var uid = user.uid;
} else {
// User is signed out.
// ...
}
});
但是该观察者会检查用户是否存在,请不要带我去检索uid用户或存储它的方法。
答案 0 :(得分:0)
Login.js
const txtemail = document.getElementById('input_email');
const txtpassword = document.getElementById('input_password');
const btnLogin = document.getElementById('buttonLogin');
btnLogin.addEventListener('click', e => {
const email = txtemail.value;
const password = txtpassword.value;
if(email == ""){
window.alert("inserisci email!");
} else if (password == ""){
window.alert("inserisci Password");
} else {
const auth = firebase.auth();
auth.signInWithEmailAndPassword(email,password)
}
});
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
firebase.database().ref("TeamLavoro").orderByChild('Email').equalTo(user.email).on("value", function(snapshot) {
if(snapshot.val() != null){
window.open("homepageteam.html", "_self");
} else {
window.open("homepage.html", "_self");
}
})
}else{
window.alert("Nessun Utente Trovato");
}
});
homepageteam.js
firebase.auth().onAuthStateChanged(function (user) {
if(user){
window.alert(user.uid);
}
else{
window.alert("No USER")
}
});
所有时间均为“无用户”。 我已经尝试过.than和.catch,但是是相等的。