Usando firebase sdk, inicié sesión con éxito en un usuario, pero luego no puedo consultar ningún dato de la base de datos en tiempo real. La consola de Chrome dice que snapshot.val() es nulo o genera un error en firebase-database.min.js. Probé muchos tipos de consultas y formato de ruta en valor de referencia (de documentos y foros oficiales). Cuando intento consolar. registrar la instantánea, devuelve un objeto firebase. Agregar .val() devuelve nulo. Pero tengo datos en db.
También probé .once o await async functions pero me da el mismo resultado.
Uso firebase js sdk de cdn (v8): https://cdnjs.com/libraries/firebase/8.10.0
Enlaces al código y capturas de pantalla de errores: eliminado
Enlace al proyecto de versión lite: eliminado
Inyección e inicio de Firebase:
<!-- 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(); });No estoy seguro de cuál es el problema con las bibliotecas en Cloud Flare, pero si cambio tus importaciones de
<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>A
<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>De repente todo funciona sin errores.