Что это за ошибка, которую я получаю - Почтальон возвращает true, но Angular даже не вызывает http? - PullRequest
0 голосов
/ 11 января 2020

Это мой код из бэкэнда:

router.post('/passwordReset', (req,res) => {

  const email = req.body.email;

  var resetToken = Math.random().toString(36).substring(7);

  bcrypt.hash(resetToken, 12, function(err, hash) {


         UserSchema.findOneAndUpdate({email: email}, { '$set': { temp_password: hash, reset_timer: new Date()}}, {new: true},(err, data)=> {
              if(!err) {
                  process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
                  let transporter = nodemailer.createTransport({
                    service: 'Gmail',
                      auth: {
                        user: "random", 
                        pass: "random"  //i filled with random for stack :)
                      }
                    });

            const mailOptions = {

                  from: 'random',
                  to: email,  
                  subject: 'Reset Password Request ', 
                  html: `Hello ,
                      Your reset password token is <b>${resetToken}</b>. 
                  If you are viewing this mail from a Android Device click this <a href="http://localhost:4200/passwordReset/${resetToken}">link</a>. 
                  The token is valid for only 2 minutes.
                  Bye.

                  };
                  transporter.sendMail(mailOptions, (err, info) => {
                    if(err){
                      res.status(500).send(err);
                    } 

                  });
                  res.status(200).send(data);
                }else{
                    res.status(500).send("Failed" + err);
                  }

          });  });

  });

Код из внешнего интерфейса:

onPasswordReset(email: string) {
console.log(email);

this.userService.sendEmailReset(email).subscribe(result => {
  console.log(result);
},
error => {
  this.onResetError = error;
  console.log(this.onResetError.error + "error");
},
() => {
    }
  );
  }

Код из сервиса:

  sendEmailReset(email: string) {
console.log("its in"); // it goes to this console log when tested! 
return this.http.post('http://localhost:3000/users/passwordReset', {email});
  }


Проблема Это то, что все звонки Почтальона имеют статус 200 и правильный ответ (+ база данных изменена правильно). Однако часть angular не работает, что бы я ни пытался. Бэкэнд даже не получает вызов, и я получаю неопознанную ошибку.

Если вы заметили что-то, дайте мне знать, пожалуйста.

ОБНОВЛЕНИЕ : Проблема была с моим перехватчиком , Если у кого-то есть подобная проблема, не забудьте исключить путь, например: req.url.include ('/ passwordReset') из перехватчика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...