Есть ли способ передать сообщение от серверной части к внешней? - PullRequest
0 голосов
/ 06 мая 2020

Я создаю веб-приложение, используя Java Script (внешний интерфейс) и Java Script для внутреннего интерфейса, и я столкнулся с проблемой, при входе в систему я проверяю пароль, чтобы узнать, не это правильно, но он не впустит меня, правильно это или неправильно ... что я делаю не так? Вот мой внутренний код ...

router.post('/', function (req, res) {
const { userName, password = req.body.password, hashPass } = req.query;

connection.query(
SELECT_USER_QUERY + ` WHERE userName= ? `,
[userName],
function (error, results, fields) {
  if (error) throw error;
  else {
    if (results.length > 0) {
      bcrypt.compare(password, hashPass, function (err, result) {
        if (result) {
          return res.send({ message: 'Login Successful' });
        } else {
          return res.status(400).send({ message: 'Invalid Password' });
        }
      });
    } else {
      return res.status(400).send({ message: 'Invalid userName' });
    }
  }
}
);
}); 

и вот мой код внешнего интерфейса ...

handleLogIn = async () => {
const { userName, password } = this.state.user;
const { users } = this.state;

await postFetch(`/users/login`, {
  userName: users.find((user) => user.userName === userName).userName,
  password: password,
  hashPass: users.find((user) => user.userName === userName).password,
})
  .then(result => {
    //handle wrong password
    if (!result.success) {
      console.log(result.errors);
      return;
    }

    this.setState({
      user: {
        ...this.state.user,
        id: users.find((user) => user.userName === userName).id,
        firstName: users.find((user) => user.userName === userName)
          .firstName,
        lastName: users.find((user) => user.userName === userName).lastName,
        userName: users.find((user) => user.userName === userName).userName,
        password: users.find((user) => user.userName === userName).password,
        email: users.find((user) => user.userName === userName).email,
      },
    });
    this.getPreference(users.find((user) => user.userName === userName).id);
    this.getReadings(users.find((user) => user.userName === userName).id);
  })
  .catch((err) => console.log(err));
};

передать сообщение от серверной части к передней части, и если да, то как?

...