它给定的未定义。无法从 firebase 检索名称
its given undefined. cant retrieve name from firebase
我想在登录后从 firebase 获取用户数据。当我从数据库中获取名称时,它提供的值是未定义的。为什么?
var user = firebase.auth().currentUser;
if(user != null ){
var email_id = user.email;
var uid = user.uid;
var name = user.userName;
var user = user;
document.getElementById("user_para").innerHTML = "Welcome User : " + email_id;
document.getElementById("user_para1").innerHTML = "Welcome User : " + uid;
document.getElementById("user_para2").innerHTML = "Welcome User : " + name;
}
请记住,firebase 身份验证仅保存以下数据:
email: 'user@example.com',
emailVerified: false,
phoneNumber: '+11234567890',
password: 'secretPassword',
displayName: 'John Doe',
photoURL: 'http://www.example.com/12345678/photo.png',
disabled: false
所以 user.userName 不存在。
您可以使用 displayName 来保存用户名,但如果您真的使用它来保存名称,您可以在 firebase 实时数据库中创建一个名为 users 的节点,您可以在其中保存用户名基于 UID,像这样:
users
->akdjf231dkeimdla
->username: jamesbond007
编码后可以是:
var user = firebase.auth().currentUser;
if(user != null ){
var email_id = user.email;
var uid = user.uid;
var name = user.displayName;
document.getElementById("user_para").innerHTML = "Welcome User : " + email_id;
document.getElementById("user_para1").innerHTML = "Welcome User : " + uid;
document.getElementById("user_para2").innerHTML = "Welcome User : " + name;
firebase.database().ref('/users/' + uid).once('value').then(function(snapshot) {
//Here are reading the username from the database
var username = snapshot.val().username;
});
}
如果你使用firebase实时数据库记得添加firebase实时数据库库。
更多信息:https://firebase.google.com/docs/auth/admin/manage-users
我想在登录后从 firebase 获取用户数据。当我从数据库中获取名称时,它提供的值是未定义的。为什么?
var user = firebase.auth().currentUser;
if(user != null ){
var email_id = user.email;
var uid = user.uid;
var name = user.userName;
var user = user;
document.getElementById("user_para").innerHTML = "Welcome User : " + email_id;
document.getElementById("user_para1").innerHTML = "Welcome User : " + uid;
document.getElementById("user_para2").innerHTML = "Welcome User : " + name;
}
请记住,firebase 身份验证仅保存以下数据:
email: 'user@example.com',
emailVerified: false,
phoneNumber: '+11234567890',
password: 'secretPassword',
displayName: 'John Doe',
photoURL: 'http://www.example.com/12345678/photo.png',
disabled: false
所以 user.userName 不存在。
您可以使用 displayName 来保存用户名,但如果您真的使用它来保存名称,您可以在 firebase 实时数据库中创建一个名为 users 的节点,您可以在其中保存用户名基于 UID,像这样:
users
->akdjf231dkeimdla
->username: jamesbond007
编码后可以是:
var user = firebase.auth().currentUser;
if(user != null ){
var email_id = user.email;
var uid = user.uid;
var name = user.displayName;
document.getElementById("user_para").innerHTML = "Welcome User : " + email_id;
document.getElementById("user_para1").innerHTML = "Welcome User : " + uid;
document.getElementById("user_para2").innerHTML = "Welcome User : " + name;
firebase.database().ref('/users/' + uid).once('value').then(function(snapshot) {
//Here are reading the username from the database
var username = snapshot.val().username;
});
}
如果你使用firebase实时数据库记得添加firebase实时数据库库。
更多信息:https://firebase.google.com/docs/auth/admin/manage-users