Итак, я создаю сайт, который по сути является блогом.У меня есть сообщения маршрутов из нескольких страниц, которые ссылаются на БД
В: Как я могу угадать маршрут по нескольким сообщениям для работы по одному пути / как мне запрограммировать маршрут из 1 сообщения, чтобы он выполнял 'либо или'?
Надеюсь, мой вопрос ясен,
Спасибо
Проблема в том, что у меня есть форма "подписаться на электронную почту" в нижнем колонтитуле, которая отображается на всех страницах.Я могу заставить работать почтовый маршрут, однако он отменяет любые другие почтовые маршруты, которые находятся на том же пути.Например: 1. У меня есть маршрут публикации для новых сообщений в блоге в / blog 2. Если я введу адрес электронной почты в форму из нижнего колонтитула и отправлю, текущий маршрут публикации будет работать (пришлите мне электронное письмо с тем, что новый подписчик имеетоднако, если я сейчас попробую добавить новое сообщение в блоге, он просто отправит запрос с пустой формой из нижнего колонтитула и отправит мне электронное письмо со значением «undefined» (obv).
//CREATE - add new blogpost to DB
router.post("/blog", function(req, res){
var name = req.body.name;
var image = req.body.image;
var desc = req.body.description;
var author = {
id: req.user._id,
username: req.user.username
}
var email = req.body.email;
geocoder.geocode(req.body.location, function (err, data) {
if (err || !data.length) {
req.flash('error', 'Invalid Address');
return res.redirect('back');
}
var lat = data[0].latitude;
var lng = data[0].longitude;
var location = data[0].formattedAddress;
var newPost = {name: name, image: image, caption: caption, description: desc, author:author, location: location, lat: lat, lng: lng};
// Create a new Post and save to DB
Post.create(newPost, function(err, newlyCreated){
if(err){
console.log(err);
} else {
//redirect back to posts page
console.log(newlyCreated);
res.redirect("/blog");
}
});
});
});
________________________________
router.post("/blog", (req,res) => {
const output = `
<p> You have a new subscriber </p>
<h3> Contact Details </h3>
<ul>
<li> Email: ${req.body.email} </li>
</ul>
<h3> Message </h3>
<p> Someone Subscribed to your email list </p>
`;
let mailerConfig = {
host: "smtp.office365.com",
secureConnection: true,
port: 587,
auth: {
user: "####",
pass: "###"
}
};
let transporter = nodemailer.createTransport(mailerConfig);
let mailOptions = {
from: mailerConfig.auth.user,
to: '@',
subject: 'Someone subscribed to your Blog!',
html: output
};
transporter.sendMail(mailOptions, function (error) {
if (error) {
console.log('error:', error);
} else {
console.log('message sent');
req.flash("success","Message Sent!")
res.redirect("back");
}
});
});
Как я могу заставить этих двоих работать вместе, чтобы, когда кто-то вводил свой адрес электронной почты и отправлял форму (на любой из страниц веб-сайта), он отправлял данные без потенциального прерывания любых других почтовых маршрутов на текущемстр.