Итак, у меня есть эта контактная форма на веб-сайте, который я создаю, я использую шаблон, который я нашел в Интернете, который использует ajax, чтобы проверить, что форма работает и электронное письмо было отправлено, проблема в том, что этот файл, который проверяет форму, настроен на работу с PHP, я думаю, поэтому я попытался изменить файл с ajax, чтобы он работал с моим приложением узла, но я в итоге загружаю форму навсегда и получаю Failed загрузить ресурс: net :: ERR_EMPTY_RESPONSE в консоли.
примечание: форма работает, и все, и письмо отправляется, но мне просто нужно указать пользователю, что оно работает.
вот код:
подтвердить. js:
$.ajax({
method: "POST",
url: "/home",
data: str,
success: function(msg) {
if (msg == 'OK') {
this_form.find('.loading').slideUp();
this_form.find('.sent-message').slideDown();
this_form.find("input:not(input[type=submit]), textarea").val('');
} else {
this_form.find('.loading').slideUp();
this_form.find('.error-message').slideDown().html(msg);
}
}
})
index. js:
const express = require("express"),
router = express.Router(),
nodemailer = require("nodemailer"),
mailGun = require("nodemailer-mailgun-transport");
router.get("/home", (req, res) => {
res.render("index");
});
router.post("/home", (req, res) => {
let { firstName, lastName, email, website, company, message } = req.body;
console.log("Data: ", req.body);
let mailOptions = {
from: email,
to: "myemail@email.com",
subject: "No Subject",
html: "<h3>First Name: " + firstName + "</h3>" +
"<h3>Last Name: " + lastName + "</h3>" +
"<h3>Email: " + email + "</h3>" +
"<h3>Company: " + company + "</h3>" +
"<h3>Website: " + website + "</h3>" +
"<h3>Message: " + message + "</h3>"
}
smtpTransport.sendMail(mailOptions, (error, response) => {
if (error) {
console.log(error)
} else {
console.log("Successfully sent email.")
}
})
});