gpt4 book ai didi

javascript - 如何从 firebase 检索所有数据。当前的 getData() 函数只获取一个对象

转载 作者:行者123 更新时间:2023-11-30 19:17:20 24 4
gpt4 key购买 nike

我正在开发一个用于输入和输出数据的 firebase 应用程序。我创建了一个将数据添加到 firebase 的函数,我想要一个函数来打印和更新网站上的所有数据

我尝试了一个函数,但它只检索了最后一个对象,而我想要所有的对象。

function getData(){

firebase.database().ref("/").on('value', function(snapshot){
snapshot.forEach(function(childSnapshot){
var childKey = childSnapshot.key;
var childData = childSnapshot.val();
document.getElementById("Data").innerHTML = childData['name'] + childData['age'];


})
})
}

Firebase 中的数据如下所示:

Database
|
|-JOHN
| name: JOHN|
| age: 45
|
|-JANE
name: Jane
age: 39

THIS IS THE SCREENSHOT OF MY DATABASE

writeData() 函数只检索 JANE 的姓名和年龄。

最佳答案

snapshot.forEach 的每次迭代都会完全替换 HTML 中 Data 元素的现有内容。因此,在该循环结束时,您将只拥有数据库中的最后一项。

最简单的解决方法是在循环之前清除元素,然后在每次迭代时追加内容:

firebase.database().ref("/").on('value', function(snapshot){
let elm = document.getElementById("Data");
elm.innerHTML = '';

snapshot.forEach(function(childSnapshot){
var childKey = childSnapshot.key;
var childData = childSnapshot.val();
elm.innerHTML += childData['name'] + childData['age'];
})
})

关于javascript - 如何从 firebase 检索所有数据。当前的 getData() 函数只获取一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57842834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com