【问题标题】:Accessing child node properties in Firebase RTD在 Firebase RTD 中访问子节点属性
【发布时间】:2020-03-23 08:56:10
【问题描述】:

我有一个 .js 文件,我在其中循环通过 Firebase 实时数据库来查找注册用户的电子邮件和密码,这些注册用户存储在数据库的 /users 树下,其中每个孩子都是随机生成的具有用户信息的唯一 ID。我从表单元素中获取电子邮件和密码信息。问题是当电子邮件和密码不相等时,不会执行 checkMessage 中的警报消息。应显示警报消息,但仅刷新页面。

Database:
----/Users
--------/XJIGFDMDKGD
-------------email: "a@b.com"
-------------password: "12345"
--------/XJFGNRIENGJ
-------------email: "c@d.com"
-------------password: "67890"

我的代码:

document
  .getElementById('loginForm')
  .addEventListener('submit', formSubmit);

function formSubmit(e) {
  e.preventDefault();
  document.querySelector('.alert').style.display = 'block';

  // Get Values from the DOM
  let email = document.querySelector('#email').value;
  let password = document.querySelector('#password').value;

  //check message values
  checkMessage(email, password);


  //Form Reset After Submission
  //document.getElementById('loginForm').reset();

}

checkMessage函数:

function checkMessage(email, password) {

  var usrs = firebase.database().ref('users');

  usrs.on("child_added", function(snapshot) {
    var user = snapshot.val();

    if (user.email == email) {
      if (user.password == password) {

      } else {
      }
    } else {
      document.querySelector('.alert2').style.display = 'block';
      setTimeout(function() {
        document.querySelector('.alert2').style.display = 'none';
      }, 7000);
      document.getElementById('loginForm').reset();
    }
  );

}

【问题讨论】:

    标签: javascript node.js firebase firebase-realtime-database


    【解决方案1】:

    该错误是由语法问题、下一段代码末尾的一个额外的大括号以及放错位置的括号引起的。固定解决方案:

      var users = firebase.database().ref('users');
      users.on("child_added", function(snapshot) {
        var user = snapshot.val();
    
        if (email == user.email) {
          if (password == user.password) {
    
          }
        } else {
          };
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-17
      • 2013-06-18
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 2019-08-14
      • 2012-03-27
      • 1970-01-01
      相关资源
      最近更新 更多