javascript
  • firebase
  • firebase-database
  • 2016-09-29 30 views 0 likes 
    0

    我已經使Firebase與React一起工作,但現在我正在嘗試在基本網站上完成這項工作。出於某種原因,我無法讓它工作。這裏是我的代碼:無法通過child_added獲取Firebase上的工作

    <html> 
    <head> 
        <script src="https://www.gstatic.com/firebasejs/3.4.0/firebase.js"></script> 
        <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script> 
    <script> 
        // Initialize Firebase 
        // TODO: Replace with your project's customized code snippet 
        var config = { 
        apiKey: "...", 
        authDomain: "...", 
        databaseURL: "...", 
        storageBucket: "...", 
        messagingSenderId: "..." 
        }; 
        firebase.initializeApp(config); 
    
        var rootRef = firebase.database().ref(); 
    
        rootRef.on('child_added', function(snapshot){ 
        console.log('yolo'); 
        console.log(snapshot.val()); 
        }) 
    </script> 
    
        <title></title> 
    </head> 
    <body> 
    
    </body> 
    </html> 
    

    我想要得到它,這樣,如果我到數據庫中添加信息,它會顯示在瀏覽器控制檯。這是奇怪的,它只有在我從應用程序將數據推送到數據庫時纔有效。如果我在Firebase控制檯中創建新的子項,則不起作用。我該如何解決?

    +0

    查閱文檔https://firebase.google.com/docs/database/web/retrieve-data#child-events –

    +2

    您確定您的客戶端擁有數據的讀取權限嗎?默認情況下,只有經過認證的用戶才具有讀取權限請參閱此文檔頁以瞭解如何檢測此類讀取權限問題:http://stackoverflow.com/documentation/firebase/5548/how-do-i-listen-for-errors-when-accessing-the-database/23610/檢測-錯誤 - 當讀取數據-在JavaScript的#噸= 201609291923291087821 –

    回答

    0

    我認爲兒童活動僅限於Firebase列表,因此push()將觸發child_added。在Firebase控制檯上,問題是我不知道是否有方法在列表中添加空對象,然後使用子節點填充它。我能夠模擬push()的唯一方法是在控制檯路徑中鍵入對象應該在瀏覽器中的位置,然後在其中添加子鍵/值對。

    所以,如果你有在名單:

    https://console.firebase.google.com/project/super-secret/database/data/list-of-games 
    

    您可以鍵入像這樣來創建一個新list-of-games對象:

    https://console.firebase.google.com/project/super-secret/database/data/list-of-games/1234 
    

    這將創建一個子節點與名單編號1234.

    希望這會有所幫助。

    相關問題