我目前正在使用以下代码从Firebase检索一个孩子:
function fetchUserdetails() {
firebase.database().ref().child('login/').orderByChild('username').equalTo('ivanaldwin').on("value", function(snapshot) {
document.getElementById('fullname').innerHTML = snapshot.val().username;
console.log(snapshot.val()); //debug in console
snapshot.forEach(function(data) {
console.log(data.key);
alert('yep im working dood');
});
});
}
window.onload = fetchUserdetails();
但是,如果我使用snapshot.val().username;
,则代码将在输出中呈现undefined
。但是,如果我仅使用snapshot.val()
,则输出将为[Object object]
。这是我的Firebase布局:
答案 0 :(得分:2)
要检索用户名,请尝试以下操作:
snapshot.forEach(function(data) {
let userName = data.val().username;
console.log(data.key);
alert('yep Im working dude');
});
您的快照位于节点login
上,因此,在使用forEach
循环之后,您可以访问子属性。
答案 1 :(得分:0)
您需要使用数组索引
document.getElementById('fullname').innerHTML = snapshot.val()[0].username;
但是我认为您需要该元素0,而您没有。 也许尝试
document.getElementById('fullname').innerHTML = snapshot.val().child('1').username