在 EJS 中收到未定义变量的错误,但我正在定义一个 const 变量
我正在定义变量“消息”,但仍然收到错误“消息未定义”。 我正在使用 res.redirect 方法通过 res.flash() 在登录页面中显示错误。但如果用户第一次打开登录页面,变量消息应该为空。
当我打开登录页面时出现此错误
exports.login = (req,res)=>{
const message=req.flash('error')
res.render('login',{ message });
}
<body>
<nav class="navbar">
<p><%= message%></p>
<a href="/signUp" class="btn signUpBtn">Sign Up</a>
</nav>
ReferenceError: /Users/abhijeetarya/web development/tessers2/views/login.ejs:13
11| <body>
12| <nav class="navbar">
>> 13| <p><%= message%></p>
14| <a href="/signUp" class="btn signUpBtn">Sign Up</a>
15| </nav>
16| <div class="loginMainCont">
message is not defined
at eval (eval at compile (/Users/abhijeetarya/web development/tessers2/node_modules/ejs/lib/ejs.js:662:12), <anonymous>:12:26)
at login (/Users/abhijeetarya/web development/tessers2/node_modules/ejs/lib/ejs.js:692:17)
at tryHandleCache (/Users/abhijeetarya/web development/tessers2/node_modules/ejs/lib/ejs.js:272:36)
at View.exports.renderFile [as engine] (/Users/abhijeetarya/web development/tessers2/node_modules/ejs/lib/ejs.js:489:10)
at View.render (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/view.js:135:8)
at tryRender (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/application.js:640:10)
at Function.render (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/application.js:592:3)
at ServerResponse.render (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/response.js:1017:7)
at exports.forLearning (/Users/abhijeetarya/web development/tessers2/server/services/render.js:12:9)
at Layer.handle [as handle_request] (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/router/layer.js:95:5)
I am defining the variable 'message' but still getting error 'message not defined'.
I am using res.redirect method for showing error in login page with res.flash(). But if user opens the login page for the first time the variable message should be blank.
when I am opening the login page I am getting this error
exports.login = (req,res)=>{
const message=req.flash('error')
res.render('login',{ message });
}
<body>
<nav class="navbar">
<p><%= message%></p>
<a href="/signUp" class="btn signUpBtn">Sign Up</a>
</nav>
ReferenceError: /Users/abhijeetarya/web development/tessers2/views/login.ejs:13
11| <body>
12| <nav class="navbar">
>> 13| <p><%= message%></p>
14| <a href="/signUp" class="btn signUpBtn">Sign Up</a>
15| </nav>
16| <div class="loginMainCont">
message is not defined
at eval (eval at compile (/Users/abhijeetarya/web development/tessers2/node_modules/ejs/lib/ejs.js:662:12), <anonymous>:12:26)
at login (/Users/abhijeetarya/web development/tessers2/node_modules/ejs/lib/ejs.js:692:17)
at tryHandleCache (/Users/abhijeetarya/web development/tessers2/node_modules/ejs/lib/ejs.js:272:36)
at View.exports.renderFile [as engine] (/Users/abhijeetarya/web development/tessers2/node_modules/ejs/lib/ejs.js:489:10)
at View.render (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/view.js:135:8)
at tryRender (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/application.js:640:10)
at Function.render (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/application.js:592:3)
at ServerResponse.render (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/response.js:1017:7)
at exports.forLearning (/Users/abhijeetarya/web development/tessers2/server/services/render.js:12:9)
at Layer.handle [as handle_request] (/Users/abhijeetarya/web development/tessers2/node_modules/express/lib/router/layer.js:95:5)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试在您的 ejs 文件中执行此操作
try doing this in your ejs file