当我传递res.render对象然后在.ejs文件中它是未定义的

时间:2012-10-16 06:48:05

标签: node.js express ejs

我想在我的profilearea.ejs文件中显示post对象的值。但是当它呈现为profilearea.ejs时,它会给出“post not a defined”的错误。

这是node.js中的代码

PersonalInfo.findOne({username:req.body.name}, function(err,post){
    if(err || !post)
    {
        console.log("find is not done");
    }

    else
        res.render('profilearea.ejs', {post:post});

  }

})

这是profilearea.ejs文件中的代码

<section id="notification" data-role="page" >
       <header data-role="header" data-theme="b"><h2>INFORMATION</h2></header>
       <div data-role="content">

        <p> <%= post%> </p>
       </div>
      </section>

1 个答案:

答案 0 :(得分:2)

我认为问题的一部分可能是在渲染之前没有对对象进行字符串化。

尝试:

  else {
  var jpost = JSON.stringify(post);
  res.render('profilearea.ejs', {post:jpost});
  }