node.js - 在 EJS 模板中的 response.render 上显示警报,如果语句在 EJS 中不起作用
问题描述
我有一个注册端口请求,完成后它会呈现一个带有口头注册请求的 EJS 模板:“成功”。
但是当我去 localhost:8888/ 然后它给了我这个错误
错误:
ReferenceError: /Users/oliver_christensen/Documents/codeFiles/nodejs-app-1/views/index.ejs:36
34| </style>
35| <body>
>> 36| <% if (signupRequest) { %>
37| <script>alert('You have been signed up successfully!');</script>
38| <% } %>
39|
signupRequest is not defined
当我一直在 signup.html 上并发送 post 请求时。然后它工作并 index.ejs 渲染。
它只是当你去 localhost:8888/ 没有注册后请求时,它给了我错误......
我是不是做错了什么,或者,谢谢你的帮助:)
我的代码:
server.set('view engine', 'ejs');
server.use(bodyParser.urlencoded({
extended: true
}));
server.get('/', (req, res) => {
res.render('index');
});
server.post('/signup', (req, res) => {
// at the end of signup requset function
res.render('index', {signupRequest: 'success'});
}
解决方案
我认为这是因为对于 POST 和 GET 方法,您引用的是相同的模板。问题是当你去 GET localhost:8888/ 你没有传递第二个参数{signupRequest: false}
。设置为false
不触发警报。
server.get('/', (req, res) => {
res.render('index', {signupRequest: false});
});
推荐阅读
- grafana - 选择比给定时间更新的普罗米修斯警报
- scala - Scala:从 dataframe.foreach 访问/编辑地图
- tree - 使用 HyperGraphQL 检索父母和孩子
- rest - 通过 REST api (v2) 将文章发布到公司 LinkedIN 页面
- spring-boot - 当从控制器启动的作业失败时,如何防止弹簧批处理关闭应用程序?
- django - 在 Django 部署期间配置不正确的 urls.py (Django 2.1)
- websocket - Websocket 握手:“Sec-WebSocket-Accept”标头值不正确
- python - Numpy:将列表转换为方形数组
- python - Python中具有不同签名的钻石继承
- css - React-Bootstrap 的 Select 元素的验证未对齐