首页 > 解决方案 > 如何从 firebase 实时数据库中打印多个对象?

问题描述

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

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

在此处输入图像描述

$(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>'); 
        });
});

标签: javascriptphpfirebasefirebase-realtime-database

解决方案


你需要使用 : .on("value") 然后使用 "key" 而不是 "name"

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>'); 
});
});

推荐阅读