Правильная аутентификация NodeJS Express MySQL - PullRequest
0 голосов
/ 18 октября 2018

Итак, у меня есть этот запрос, и я немного озадачен тем, как работает логика.Я создаю новый метод регистрации пользователей, и внутри него есть метод проверки, использует ли пользователь тот же адрес электронной почты или нет.Я использую POSTMAN при отправке запроса.

Первый запрос работает нормально, как метод проверки электронной почты, так и регистрация нового, в то время как для второго проверка почты работает, но регистрация с новым письмом не работает.работать, POSTMAN продолжает загружаться до минуты или около того, пока не появится сообщение «Не удалось получить ответ».

Первый (работает)

exports.postContact = router.post("/api/users/new", (req, res) => {
  var today = new Date();
  var users = {
    "first_name": req.body.first_name,
    "last_name": req.body.last_name,
    "email": req.body.email,
    "password": req.body.password,
    "created": today,
    "modified": today
  }

  var email = req.body.email;

  mySQL.query('SELECT * FROM users WHERE email = ?', [email], function (err, results, fields) {
    if (results.length > 0) {
      if (results[0].email == email) {
        res.send({
          "code": 204,
          "status": 'Failed',
          "message": "This email address is already registered, please login instead"
        });
      }
    }
    else {
      mySQL.query("INSERT INTO users SET ?", users,
        (err, results, fields) => {
          if (err)
            res.send({
              "code": 400,
              "status": 'Failed',
              "message": 'Something wrong with the connection'
            })
          res.send({
            "code": 400,
            "status": 'Success',
            "message": 'User is successfully registered'
          })
        }
      );
    }
  });
});

Второй (не работает)

exports.postContact = router.post("/api/users/new", (req, res) => {
  var today = new Date();
  var users = {
    "first_name": req.body.first_name,
    "last_name": req.body.last_name,
    "email": req.body.email,
    "password": req.body.password,
    "created": today,
    "modified": today
  }

  var email = req.body.email;

  mySQL.query('SELECT * FROM users WHERE email = ?', [email], function (err, results, fields) {
    if (results.length > 0) {
      if (results[0].email == email) {
        res.send({
          "code": 204,
          "status": 'Failed',
          "message": "This email address is already registered, please login instead"
        });
      }
      else {
        mySQL.query("INSERT INTO users SET ?", users,
          (err, results, fields) => {
            if (err)
              res.send({
                "code": 400,
                "status": 'Failed',
                "message": 'Something wrong with the connection'
              })
            res.send({
              "code": 400,
              "status": 'Success',
              "message": 'User is successfully registered'
            })
          }
        );
      }
    }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...