Node.js / Express / Mongoose - 如何发送 JSON 以及对象视图?
当我使用 Mongo 在 Node/Express 中显示模型对象时,我想将 JSON 对象与视图一起传递。
当前路线(仅传递视图):
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 传递到视图?
谢谢!
I would like to pass the JSON object along with the view when I show a model Object in Node/Express using Mongo.
Curren route (passing just the view):
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,
}
});
});
});
Can I add pagejson:page.toObject()
to the locals and then put pagejson
on my page somewhere? When I tried that it showed up as [object, Object] at the browser. Is there any easy way to pass the JSON to the view?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该查看 JSON 方法
在节点 repl 中:
如果您需要以不同方式响应路由(例如通过请求) ajax)您可以将新参数传递给 url
app.get('/page/:customurl.:format', ...
) 或检查存储在req.headers 中的请求标头
You should look at JSON methods
In node repl:
If you need to respond to the route in different ways (ex. requested via ajax) you can either pass a new parameter to the url
app.get('/page/:customurl.:format', ...
or checking the request headers stored inreq.headers