<button id="all" onclick="button()"> View All </button>
<script>
function button(){
var userRef = new Firebase("https://addview-c21e6.firebaseio.com/users/");
userRef.on("value", function(snapshot) {
// The callback function will get called twice, once for "fred" and once for "barney"
snapshot.forEach(function(childSnapshot) {
// key will be "fred" the first time and "barney" the second time
var key = childSnapshot.key();
// childData will be the actual contents of the child
var childData = console.log(childSnapshot.val());
var para = document.createElement("p");
var node = document.createTextNode(childSnapshot.val());
para.appendChild(node);
var element = document.getElementById("viewAll");
element.appendChild(para);
});
});
}
</script>
<div id="viewAll"> </div>
以上代码就是我的问题。我的树如下:我有root作为用户,然后在那下面有用户名(即john),然后在那下面有两个孩子..姓名和年龄。所以基本上我希望viewAll div能够列出数据库中的所有数据。所以应该列出:John 15,Jake 16,依此类推,直到它到达最后一个用户。目前它只是打印对象Object。我从哪里开始?附:有更多的代码我只是为了简单起见而没有全部展示。 我很感激帮助!
答案 0 :(得分:0)
您的childSnapshot.val()
应该是带有用户名,姓名和年龄的JSON对象,假设您的每个用户看起来像这样:
'fred': { username: 'fred', name: 'Fred Flintstone', age: 45 },
'barney': { username: 'barney', name: 'Barney Rubble', age: 44 }
在forEach()
循环中,您应该能够访问以下每个属性:
var userInfo = childSnapshot.val();
var username = userInfo.username;
var name = userInfo.name;
var age = userInfo.age;