我必须显示属于已登录用户的数据。
我的数据库结构如下:
用户/驱动程序/ Uid /名称,电话... 如何显示使用JavaScript作为文本登录的用户的数据?
<a> Username </a>
答案 0 :(得分:1)
如果您有以下HTML:
<a id="username"> Username </a>
这个数据库结构:
Users
Drivers
Uid: { name: "Name", phone: "Phone number" }
然后您可以使用以下命令显示当前用户的名称:
var currentUser = firebase.auth().currentUser;
var userRef = firebase.database().ref("Users/Drivers").child(currentUser.uid);
userRef.on("value", function(snapshot) {
document.getElementById("username").innerText = snapshot.val().name;
})
此代码可以做到(逐行):
第4行将立即使用用户的当前值调用,然后每次用户数据更改时调用。
另请参阅listening for values上的Firebase文档。
如果还可以在用户未登录时加载页面,请确保仅在用户 did 登录时才运行此代码。通过使用所谓的身份验证状态更改侦听器来实现,只要用户的身份验证状态发生更改,就会调用该侦听器:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
var userRef = firebase.database().ref("Users/Drivers").child(user.uid);
userRef.on("value", function(snapshot) {
document.getElementById("username").innerText = snapshot.val().name;
})
}
});
请参阅getting the current signed in user上的Firebase文档。