首页 > 解决方案 > When I take data from Firebase My Html page shows [object Object]

问题描述

function snapshotToArray(snapshot) {
    var returnArr = [];

    snapshot.forEach(function(childSnapshot) {
        var item = childSnapshot.val();
        item.key = childSnapshot.key;

        returnArr.push(item);
    });

    return returnArr;
};
firebase.database().ref('books').on('value', function(snapshot) {
    const list_div = document.querySelector("#list");
    list_div.innerHTML += "<div class='list-item'><h3></h3>" + snapshot.val() + "</div>"
    console.log(snapshotToArray(snapshot));
});
 <div class="main-list" id="list">
    <div class="list-item">
        <h3>Kitaplarım:</h3>
    </div>
    </div>
That's my html page result enter image description here

I've been trying to solve it for 3 days

标签: javascriptfirebase

解决方案


HTML 不会理解 js 对象,因此您必须将所有值作为字符串传递,在当前情况下snapshot.val()是一个对象,要克服这个问题,您可以简单地替换snapshot.val()JSON.stringify(snapshot.val())


推荐阅读