Доступ к свойствам дочерних узлов в Firebase RTD - PullRequest
0 голосов
/ 23 марта 2020

У меня есть. js файл, в котором я oop через базу данных Firebase в реальном времени, чтобы найти электронную почту и пароль зарегистрированных пользователей, который хранится в дереве / users в базе данных, где каждому ребенку случайным образом генерируется уникальный идентификатор, имеющий информацию о пользователе. , Я получаю информацию по электронной почте и паролю из элемента формы. Проблема в том, что предупреждающие сообщения в 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();
    }
  );

}

1 Ответ

0 голосов
/ 23 марта 2020

Ошибка была вызвана синтаксической проблемой, дополнительной скобкой в ​​конце следующего раздела кода, а также неправильными скобками. Фиксированное решение:

  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 {
      };
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...