传递给jade的变量未正确呈现

时间:2016-06-10 15:41:38

标签: javascript json node.js express pug

我试图了解很多关于来自不同来源的变量,但我仍然无法理解它。我也很难理解何时使用#或何时使用'!&# 39 ;.大多数教程似乎围绕着JSON.stringify()和JSON.parse()的基本主题,而我真的无法将它们的相关性与玉器相关联。显然,我的基础知识并不清楚。

话虽如此,主要问题是...... 我正在建立一个投票应用程序。我已经为登录用户创建了一个主页。我将用户的名称(存储在req.session.user中)和其他一些内容传递给jade。另一件事已经成功呈现但是显示奇怪渲染的用户名。 home.jade文件是

include mixins
doctype html
html(lang="en")
    head
        +boilerplate
        link(rel="stylesheet",type="text/css",href="/css/mystyle.css")
    body
        +nav("Voting app","navigation_menu","inverse")
            +nav_item("#","active") Home
            +nav_item("/logout") Logout
    +jumbotron("VoteMachina")
        h1 #{userdes}
        +button("success","/createPoll","large") Create Poll
        +button("success","/viewMyPolls","large") View My Polls
    div.row(style="margin-bottom:10px")
        h3(style="text-align:center") You can vote on any of these polls
   +enumerate(arr) 

app.js文件的相关部分是

app.get('/home',function(req,res,next){
    if(req.session.user==null)
        res.redirect('/');
    else{
        var usergreet="Welcome "+req.session.user;
        res.render('home',{arr:userarr,userdes:usergreet});
    }
});

显示为"欢迎[对象] [对象]"而不是欢迎(用户名) 有人请帮助纠正问题并指出思考过程中的错误。也有人澄清问题开头提到的疑问,非常欢迎。谢谢阅读。

**我发现了自己的错误。谢谢罗伯特。 req.session.user是一个对象,其中包含有关用户的各种信息,包括名为username的属性中包含的名称。所以将req.session.user更改为req.session.user.username工作**

0 个答案:

没有答案