我遇到从firebase到index.php获取数据的问题。 firebase.js有一个获取数据函数,返回index.php。 我在index.php中有 [object Object] 不变量。如何从firebase.js获取var?
的index.php
<html>
...
<body>
<p id="demo"></p>
<script>document.getElementById("demo").innerHTML = getData();</script>
</body>
</html>
firebase.js
var db = firebase.database();
function getData() {
var content = '';
var ref = db.ref("user");
ref.on("child_added", function(snapshot) {
if(snapshot.exists()) {
var key = snapshot.key;
content += key + '<br />';
}
});
return $('#demo').text(content);
}
经过修改后,我从console.log(内容)获得了var,如下所示:
undefined
[2018-02-13T10:30:06.110] [DEBUG] default - Server running at http://127.0.0.1:3000/
user1<br />
user1<br />user2<br />
user1<br />user2<br />user3<br />
user1<br />user2<br />user3<br />user4<br />
user1<br />user2<br />user3<br />user4<br />user5<br />
答案 0 :(得分:0)
您的代码设置方式存在一些问题
用getData();
将getData
函数替换为:
function getData() {
var content = '';
var ref = db.ref("user");
ref.on("child_added", function(snapshot) {
if(snapshot.exists()) {
var key = snapshot.key;
content += key + '<br />';
$('#demo').innerHTML = content;
}
});
}
问题是你的getData函数正在返回一个对象,当在预期字符串的地方使用它时,javascript会自动转换为[object Object]。
在"child_added"
函数结束后的某个时间调用getData
事件的回调,因此您需要在回调中进行修改才能实际工作。