Node.js 通过express.js在浏览器中显示警报
我正在使用express通过Node.js 通过express.js在浏览器中显示警报,node.js,express,nodemailer,Node.js,Express,Nodemailer,我正在使用express通过nodemailer模块发送电子邮件。 我的代码如下: app.post('/', (req, res) => { const output = ` <p>You have new one contact request</p> <h3>Contact Details</h3> <ul> <li>Name:${req.body.name}</li> <li>Email
nodemailer
模块发送电子邮件。
我的代码如下:
app.post('/', (req, res) => {
const output = `
<p>You have new one contact request</p>
<h3>Contact Details</h3>
<ul>
<li>Name:${req.body.name}</li>
<li>Email:${req.body.email}</li>
</ul>
<h3>Message</h3>
<p>${req.body.message}</p>
`;
// create reusable transporter object using the default SMTP transport
let transporter = nodeMailer.createTransport({
host: "mail.gmail.com",
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: 'mymail@gamil.com', // generated ethereal user
pass: '2020' // generated ethereal password
},
tls: {
rejectUnauthorized: false
}
});
// send mail with defined transport object
let mailOptions = {
from: "mymail@gamil.com", // sender address
to: "myfriend@gmail.com", // list of receivers
subject: "the subject", // Subject line
html: output // html body
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
// , info.res
console.log("Message sent: %s", info.messageId);
console.log("Preview URL: %s", nodeMailer.getTestMessageUrl(info));
res.render('index', { msg: 'email has been sent' });
res.redirect('back');
});});
然后通过以下代码显示一条消息:
res.render('index', { msg: 'email has been sent' });
现在,我的目标不是通过前面提到的代码显示文本,而是在警报框中显示文本。
我所尝试的是:
res.render('index','<script>alert("email has been sent")</script>');
res.render('index','alert(“电子邮件已发送”);
但这不起作用。所以有什么想法和解决方案吗?据我所知,你从后端发送电子邮件 所以,要在浏览器中发出警报,您应该向前端发送一些信号。通过套接字、前端请求或任何其他方式 编辑: 此代码显示来自后端的带有消息的警报 前部(索引.ejs的一部分):
这就是你的意思吗?@A Ralkov是的,正如你所看到的,它现在由
msg
发送。但我想改为发出警报。要在nodemailer
验证表单发送后,在browser@A拉尔科夫这行var isAlert=代码>不匹配。它有语法错误
res.render('index','<script>alert("email has been sent")</script>');
<script lang="javascript">
$(document).ready(function () {
var isAlert = <%= isAlert %>;
if (isAlert === true) {
var alertTitle = "<%= alertTitle %>";
console.log(alertTitle);
alert(alertTitle);
}
})
</script>
res.render('index', { isAlert: true, alertTitle: "Oops!" })