当我使用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传递给视图?
谢谢!
答案 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(...);
}