Итак, у меня есть форма новостной рассылки, в которой я хочу отображать сообщение после того, как запрос на почту сделан, я попытался сделать это с помощью вызова 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");
}
}
});