получить нулевой ответ от узла в angular7 с помощью функции подписки - PullRequest
0 голосов
/ 28 мая 2019
router.post('/login', function (req, res) {
  let username = req.body.username;
  let password = req.body.password;
  console.log(username, "===> username");
  console.log(password, "===> password");

      User.findOne({
        username: req.body.username,
        },function (err, user) {
        if (err) {
          res.status(502).send({
            "Message": "Db error",
            "error": err
          });
          console.log("login if");
        }
        //console.log("log",user)
            if (user) {
              if (user.username === req.body.username && user.password == req.body.password) {
                    var token = jwt.sign({
                      username: req.body.username,
                    },process.env.SECRET_KEY, {
                        expiresIn: parseInt(process.env.EXPIRY_TIME)
                      });
                    res.send({
                      Message: "logged in sucessfully",
                      Token: token
                    })
              }
            } else {
                res.status(404).send({
                Message: "not found",
                })
              }
      });

});

// код выше серверной части отправляет ответ почтальону, а также отправляет истину клиенту, но не может отправить объект
// и код ниже файла login.component.ts

 login() {
     this.loginservice.authenticate(this.username, this.password)
        .subscribe((res) => {
              console.log(" user is",res);
              localStorage.setItem("user",res.toString());
                this.router.navigate(['dashboard']);
            }, (error) => {
              console.log(error);
            });
}

// и последний код службы аутентификации (имя пользователя, пароль) {

  const url = environment.binanceserver + '/users/login';
    console.log("Endpoint being hit", url, username, password);
    const obj = {
      "username": username,
      "password": password
    }
    return this.http.post(url, obj);

1 Ответ

0 голосов
/ 28 мая 2019

Вам необходимо включить CORS со стороны сервера, чтобы принимать запросы от других источников.Вы можете использовать cors для включения CORS в экспресс / узле.

...