как использовать res.send в Express для отправки данных клиенту, чтобы сделать ajax вызов с jQuery - PullRequest
0 голосов
/ 02 апреля 2020

Итак, у меня есть форма новостной рассылки, в которой я хочу отображать сообщение после того, как запрос на почту сделан, я попытался сделать это с помощью вызова jQuery ajax. Я делаю res.send («ОК») на моей стороне сервера, но этот res.send отображается в браузере, и я не хочу, чтобы он показывал, я просто хочу, чтобы он был отправлен клиенту, чтобы я мог обработать запрос.

Вот код:

index. js

router.post("/newsletter", (req, res) => {
    let newsletterEmail = req.body.newsletterEmail;
    console.log("Data: ", req.body.newsletterEmail);

    let mailOptions = {
        from: newsletterEmail,
        to: "myemail@email.com",
        subject: " Newsletter",
        html: "<h3>Newsletter Contact Email: " + newsletterEmail + "</h3>"
    }

    smtpTransport.sendMail(mailOptions, (error, response) => {
        if (error) {
            console.log(error)
            res.status(500);
        } else {
            console.log("Successfully sent email.");
            res.send("OK");
        }
    })
})

main. js

// Newsletter Form
  $.ajax({
    type: "POST",
    url: "/newsletter",
    data: $("#newsletterEmail"),
    success: function(msg){
      if (msg == "OK") {
        $("#success-sub-msg").css("opacity", "1");
      }
    }
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...