如何从Firebase实时数据库打印多个对象?

时间:2019-04-12 10:57:15

标签: javascript php firebase firebase-realtime-database

我正在从firebase数据库中打印多个对象,但是我得到了空值,我是firebase的新手

我的结果为空,我想要输出Shubham manojm mohit

enter image description here

$(document).ready(function(){

    var rootRef = firebase.database().ref().child("messages");

        rootRef.on("child_added", snap =>{
             var name = snap.child("name").val();
              $("#users").append('<div class="row sideBar-body"><div class="col-sm-3 col-xs-3 sideBar-avatar"><div class="avatar-icon"><img src="http://chat.synetal.com/assets/user2.jpg"></div></div><div class="col-sm-9 col-xs-9 sideBar-main"><div class="row"><div class="col-sm-8 col-xs-8 sideBar-name" id="chat"><span class="name-meta">'+ name +'</span></div><div class="col-sm-4 col-xs-4 pull-right sideBar-time"><span class="time-meta pull-right">18:18</span></div></div></div></div>'); 
        });
});

1 个答案:

答案 0 :(得分:0)

您需要使用:.on(“ value”) 然后使用“键”代替“名称”

var rootRef = firebase.database().ref().child("messages");



rootRef.once('value', function(snapshot) {
  snapshot.forEach(function(childSnapshot) {
var name = childSnapshot.key;
var childData = childSnapshot.val();
console.log(name, childData);
$("#users").append('<div class="row sideBar-body"><div class="col-sm-3 col-xs-3 sideBar-avatar"><div class="avatar-icon"><img src="http://chat.synetal.com/assets/user2.jpg"></div></div><div class="col-sm-9 col-xs-9 sideBar-main"><div class="row"><div class="col-sm-8 col-xs-8 sideBar-name" id="chat"><span class="name-meta">'+ name +'</span></div><div class="col-sm-4 col-xs-4 pull-right sideBar-time"><span class="time-meta pull-right">18:18</span></div></div></div></div>'); 
});
});