渲染时发送给EJS的空参数
林相当新Nodejs,我一直在努力解决这个问题,到目前为止,我不能find问题。
在我的应用程序的某个时候,我用一些参数来渲染一个EJS模板,但是看起来即使获得了参数,它们也是空的。
我testing了最基本的情况:
console.log(req.user); res.render('menu.ejs', { user: String(req.user.username) });
控制台输出:
{ id: 1, username: 'bob', password: 'secret', email: 'bob@example.com' }
所以我没有发送一个空值。 menu.ejs代码如下:
<html> <body> <% user %> </body> </html>
真的很简单。 但是,当页面呈现,我所得到的是一个空的网页…即使有一个和更多的HTML,我只是不断获取和空的价值…
在我的应用程序的某个时候,我用护照来validation我的用户,并使用闪光,我设法得到一个消息:
res.render('login.ejs', { message: req.flash('message') });
但是,这仍然留下我的menu.ejs错误。 我重命名文件,重命名parameter passing,添加更多的参数,harcoded通过参数的值…我总是得到相同的结果=(
项目依赖:
"dependencies": { "express": "~4.9.x", "express-session": "1.9.3", "mysql ": "2.5.3", "body-parser": "1.10.0", "passport": "0.2.1", "passport-local": "1.0.0", "connect-flash": "0.1.1", "cookie-parser": "1.3.3", "ejs": "1.0.0" }
有任何想法吗?
尝试改变
<% user %>
至
<%= user %>
因为这是通常的输出模板variables的语法,据我所知(不熟悉ejs)。