Javascript 如何在网站中显示Firebase数据库中的数据?
关于Firebase,我有以下问题:;我的数据结构如下:Javascript 如何在网站中显示Firebase数据库中的数据?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,关于Firebase,我有以下问题:;我的数据结构如下: myApp - myList - KKJJXX...1 myString: "String One" - KKJJXX...2 myString: "String Two" - KKJJXX...3 myString: "String Three" 我想制作一些JavaScript(在我的一个网页中)来列出上面DB中myString的值。 以下是我在挖掘网络后得出的结论。
myApp
- myList
- KKJJXX...1 myString: "String One"
- KKJJXX...2 myString: "String Two"
- KKJJXX...3 myString: "String Three"
我想制作一些JavaScript(在我的一个网页中)来列出上面DB中myString的值。
以下是我在挖掘网络后得出的结论。它在一定程度上有效,但不完全有效。
我可以在浏览器的调试控制台中看到,我已经获得了所需的数据。我在剧本之后更准确地写下我的担忧
<script>
var ref = new Firebase("https://myApp.firebaseio.com/myList/");
ref.on("value", function(snapshot) {
for (x in snapshot.val()) {
var xRef = new Firebase("https://myApp.firebaseio.com/myList/"+x+"/");
xRef.once("value", function(xsnapshot) {
var name = xsnapshot.child("myString");
console.log(name);
});
}
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
</script>
我可以看到A对象包含我正在查找的信息(myString)。
要在控制台上直接列出myString的内容,我应该在上面的脚本中更改什么?当您调用
child
时,您将得到一个新的FirebaseReference
——而不是数据快照。您需要.on('value')
it来获取ref的数据,但这很愚蠢,因为您已经拥有了数据
相反,只需将快照的数据存储在局部变量中,并对其进行操作即可
ref.on("value", function(snapshot) {
for (x in snapshot.val()) {
var xRef = new Firebase("https://myApp.firebaseio.com/myList/"+x+"/");
xRef.once("value", function(xsnapshot) {
var data = xsnapshot.val();
var name = data["myString"];
console.log(name);
});
}
});
成功了!非常感谢。
ref.on("value", function(snapshot) {
for (x in snapshot.val()) {
var xRef = new Firebase("https://myApp.firebaseio.com/myList/"+x+"/");
xRef.once("value", function(xsnapshot) {
var data = xsnapshot.val();
var name = data["myString"];
console.log(name);
});
}
});