首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >firebase js sdk查询快照返回空或错误。

firebase js sdk查询快照返回空或错误。
EN

Stack Overflow用户
提问于 2021-10-02 17:18:54
回答 1查看 227关注 0票数 1

使用firebase,我成功地登录了一个用户,但后来我无法从实时数据库查询任何数据。console说snapshot.val()为null,或者在firebase-database.min.js中触发一个错误。我尝试了许多类型的查询和路径格式的参考值(从官方文档和论坛)。当我尝试console.log快照时,它会返回一个firebase对象。添加.val()返回null。但我有数据库的数据。

我也尝试过.once或等待异步函数,但是它给了我同样的结果。

我使用cdn (v8):https://cdnjs.com/libraries/firebase/8.10.0的firebase js

指向代码和错误快照的链接:已删除

链接到lite版本项目:已删除

火源注入和init:

代码语言:javascript
复制
<!-- index.html -->

<script src="../lib/jquery_360/jquery360.min.js"></script>
<script src="../lib/bootstrap_5/js/bootstrap.bundle.min.js"></script>

<!-- <script src="../lib/firebase/firebase.min.js"></script> -->
<script src="../lib/firebase/firebase-app.min.js"></script> 
<script src="../lib/firebase/firebase-auth.min.js"></script>
<script src="../lib/firebase/firebase-database.min.js"></script>    

<script src="../script/modal.js"></script>
<script src="../script/utility.js"></script>

<script src="../script/customer.js"></script>

<title>customer</title>

// index.js - jquery onload function

const firebaseApp = firebase.initializeApp({
    // keys here...
});

auth = firebase.auth(); 
db = firebase.database(); 

firebase.auth().onAuthStateChanged((user) => {
    if (user) {
        var uid = user.uid;
        console.log('user logged in!');     
        
        $('#login_popup').modal('hide');
        Clear_Popup_Message('login_popup_msg_box', null); 
    
        GetAllData();         
    } else {
        console.log('user not logged in!');
    }
  });

// GetAllData()

db.ref('menus').orderByChild('list_order').on('value', (snapshot) => {
            prj.configs.menu = snapshot.val();  
});

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-08 01:15:31

我不知道Cloud上的库有什么问题,但是如果我将您的导入更改为

代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/firebase/8.10.0/firebase-app.min.js" integrity="sha512-XNRpfd3CxEDrXcXWvht51k3l8G5cZhcY0kehFjUohBhgRDCozbdSaGz3w96WlDxAgiNZndKnpn1+4532FS3p3w==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/firebase/8.10.0/firebase-auth.min.js" integrity="sha512-GAEvFso2oksY5JFkHlrfLhZgAV6aL48qxnbxPnbKnNLeG/XsU/c0lh/g9gocZ2RtbRx6VDTqspPEy9ixWvbfzw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/firebase/8.10.0/firebase-database.min.js" integrity="sha512-XDKFSZOhFNmwmx69Xr0j3zmePQ3NoSgpzZPr49P6oV7ME5ZhEXUqu+KUA0vQtof87P6IX+ycg4PmSms/EF8/pw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

代码语言:javascript
复制
<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-database.js"></script>

一切都会突然正常运转,不会出错。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69418643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档