2013-10-29 48 views
0

我試圖讀取Firebase數據,然後將數據打印到控制檯,但是沒有任何內容使其顯示在控制檯上。Javascript讀取Firebase列表數據

function readData(){ 
var listRef = new Firebase('https://----.firebaseIO.com/'); 

    listRef.on('child_added', function(snapshot) { 

    var msgData = snapshot.val(); 
    console.log("Snapshot : " + msgData.message); 

    });//end snapshot 


}//end readData 

我的firebase數據看起來像。這是根源。

{ 
"-J75NmiNt3blUhVDCWbc" : { 
"from" : "Blah", 
"message" : "Blah" 
}, 
"-J75N2bNbDZpshEBG1yS" : { 
"from" : "Jackson", 
"message" : "BLAH BlaH" 
}, 
"-J75PCsjFlbDQ3g9vKyb" : { 
"from" : "fff", 
"message" : "fff" 
}, 
"-J75MvQQpRBB6s-l3KrQ" : { 
"from" : "", 
"message" : "" 
}, 
"-J75OHX7rdE1K8wpvZOt" : { 
"from" : "fff", 
"message" : "ff" 
} 
} //end 
+0

你曾經調用過'readData'函數嗎? – hiattp

+0

是的,我打電話給它按鈕 – user2758113

+0

你知道它實際上被稱爲?你的功能看起來很好。 – hiattp

回答

-1

編輯:我原來的答案是完全缺失的問題,改寫爲進一步擊打

你確定你是你的事件中獲取數據?它會優雅地失敗。通過調試器,並確保你正在讓你的實際對象正確傳遞。從他們的聊天工具,例如它們結合到推向listRef對象像這樣的事件:

$('#messageInput').keypress(function (e) { 
    if (e.keyCode == 13) { 
    var name = $('#nameInput').val(); 
    var text = $('#messageInput').val(); 
    messagesRef.push({name:name, text:text}); 
    $('#messageInput').val(''); 
    } 
}); 

我的猜測是,你snapshot變量是無法訪問/空。

+0

我瞭解異步問題。但爲什麼這個Firebase文檔例子不起作用? [閱讀數據部分底部](https://www.firebase.com/docs/managing-lists.html) – user2758113

+0

@ user2758113哎喲,你說得對。它是一個事件,我的錯誤...我用他們的聊天客戶端的例子,它運行得很好。你有沒有檢查你的數據? –

+0

那麼來自聊天客戶端的示例可以正常使用我的數據集,所以我想我只會使用它,因爲我需要發佈和獲取。 – user2758113