Geo*_*per 3 ejs node.js express
提交表单后,我想呈现相同的页面,但在表单上方显示“消息发送成功”消息。使用此代码,我收到“引用错误,未定义 msg”,我觉得这很奇怪,因为当我使用相同的代码但在 GET 请求中它运行良好。GET 和 POST 请求之间是否有不同的技术?
const express = require('express');
const app = express();
app.set('view engine', 'ejs');
app.get('/contact', (req, res) => {
res.render('contact');
});
app.post('/send', (req, res) => {
res.render('contact', {msg: 'Message sent successfully!'});
});Run Code Online (Sandbox Code Playgroud)
<section class="section-b">
<div>
<p><%= msg %></p>
<form action="send" id="contact-form" method="POST">
<input type="text" name="name" placeholder="Name">
<input type="email" name="emailContact" placeholder="E-mail"><br>
<textarea name="message" id="message" rows="10" placeholder="Your message here..."></textarea><br>
<button type="submit">Submit</button>
</form>
</div>
</section>Run Code Online (Sandbox Code Playgroud)
您需要检查变量(msg)是否已定义,在.get("/contact")请求中您没有将msg作为参数发送,因此这就是您收到错误的原因
<% if(typeof msg !== 'undefined') { %>
<p><%= msg %></p>
<% } %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1243 次 |
| 最近记录: |