This is how my html looks like
<!DOCTYPE html>
<html>
<head>
<title>Pet Article</title>
<script src="https://www.gstatic.com/firebasejs/5.5.8/firebase.js"></script>
</head>
<body>
<img src = "cat.jpg" width = 700px , height = "500px" />
<img src = "dog.jpg" width = 700px , height = "500px" />
<p>This is the paragraph <br /> Need more?</p>
<hr />
<h1 id="big0ne" ></h1>
<script>
// Initialize Firebase
var config = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: ""
};
firebase.initializeApp(config);
var big0ne = document.getElementById('big0ne');
var dbRef = firebase.database().ref().child('text');
dbRef.on('value', snap => big0ne.innerText = snap.val());
</script>
</body>
</html>
我是编程方面的新手,这是我第一次在这里问,因此请耐心等待。
我们被要求使用Firebase数据库制作一个项目,并将其连接到我们的网站以检索数据。我在youtube和互联网上找到了教程,但是我似乎找不到能在firebase上检索嵌套值的教程。它返回数据为 [对象对象]
我想知道如何在Firebase中检索嵌套数据。我将附上数据库外观的图像。这是我的html代码。我没有制作单独的JavaScript文件。我只是将javascript代码放在“ script”标签内,因为它仍然可以正常工作。出于安全原因,我将故意删除API密钥等。
答案 0 :(得分:0)
您现在可以从Firbase中读取以下代码:
var dbRef = firebase.database().ref().child('text');
dbRef.on('value', snap => big0ne.innerText = snap.val());
这将读取text
节点的值,然后使用val()
来获取其值。查看您共享的JSON屏幕截图,text
的值为:
{
"text2": "Wonder Pets"
}
这本身就是一个JavaScript对象,因此,如果在其上调用toString()
(代码隐式地执行此操作),则会得到"[object Object]"
(或它的某些变体,具体取决于浏览器)。>
要获取text2
子节点的值,您应该使用:
big0ne.innerText = snap.child("text2").val()
因此,在上一行中,我们获取快照的text2
子节点,然后获取快照的子节点的值,正是您想要的字符串。