Node.js / Express / Mongoose - 如何发送JSON以及对象视图?

时间:2011-10-04 19:16:43

标签: json node.js express mongoose

当我使用Mongo在Node / Express中显示模型对象时,我想将JSON对象与视图一起传递。

Curren路线(仅通过视图):

app.get('/page/:customurl', function(req, res, next) {
  Page.findOne({ customurl: req.params.customurl.toLowerCase()}, function(error, page) {
    if (!page) return next(new NotFound('Document not found'));
    res.render('pages/page_show.ejs',
      { locals: {
          title: 'ClrTouch | ' + page.title,
          page:page,
      }
    });
  });
});

我可以将pagejson:page.toObject()添加到本地人,然后将pagejson放在我的页面上吗?当我尝试它在浏览器中显示为[object,Object]时。有没有简单的方法将JSON传递给视图?

谢谢!

1 个答案:

答案 0 :(得分:6)

您应该查看JSON methods

在节点repl中:

> var document = {a: 'first property', b: 'second property'};
> JSON.stringify(document)
'{"a":"first property","b":"second property"}'
> 

如果您需要以不同方式响应路线(例如,通过ajax请求),您可以将新参数传递给网址app.get('/page/:customurl.:format', ...或检查req.headers中存储的请求标头

if ( req.headers["HTTP_X_REQUESTED_WITH"] === "XMLHttpRequest" ) {
  res.send(document);
} else {
  res.render(...);
}