首页 文章

node.js firebase获取数据返回[object Object]

提问于
浏览
0

我有从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 + '
'; } }); 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
user1
user2
user1
user2
user3
user1
user2
user3
user4
user1
user2
user3
user4
user5

1 回答

  • 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 + '
    '; $('#demo').innerHTML = content; } }); }

    问题是你的getData函数正在返回一个对象,当它被用在需要字符串的地方时,javascript会自动转换为[object Object] .

    getData 函数结束后的某个时间调用 "child_added" 事件的回调,因此您需要在回调中进行修改才能使其真正起作用 .

相关问题