空参数在渲染时发送到EJS

问题描述 投票:1回答:1

我对nodejs还是很陌生,我一直在尝试解决这个问题,到目前为止,我仍然找不到问题。

在我的应用程序中的某个时候,我渲染了一个带有一些参数的EJS模板,但是似乎即使获得了这些参数,它们也是空的。...

我测试了最基本的情况:

console.log(req.user);
res.render('menu.ejs', { user: String(req.user.username) });

控制台输出:

{ id: 1,
  username: 'bob',
  password: 'secret',
  email: '[email protected]' }

所以我没有发送空值。menu.ejs代码如下:

<html>
    <body>
        <% user %>
    </body>
</html>

真的很简单。但是当呈现页面时,我得到的只是一个空页面...即使有了和更多的HTML,我仍然为用户保持获取和空值...

在我的应用程序中的某个时候,我使用护照对我的用户进行身份验证,并且使用Flash,我设法通过以下方式获得消息:

res.render('login.ejs', { message: req.flash('message') });

但是那仍然让我出现menu.ejs错误。 Ive重命名了文件,重命名了传递的参数,添加了更多参数,对传递的参数值进行了编码……我总是得到相同的结果=(

项目依赖项:

"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"
}

有什么想法吗?

node.js express ejs embedded-javascript
1个回答
4
投票

尝试更改

© www.soinside.com 2019 - 2024. All rights reserved.