[英]Node.js: Returning proper JSON from mongoose query
我有这个快速的应用程序,其中mongoDB作为数据库,而handlebars作为我的服务器端模板引擎。 我没有在应用程序中使用AngularJS或Ajax。
在其中一条路线中,我必须渲染页面以及通过数据库发送json文件。 但是,我无法实现这一目标。
这是我的路线的代码段:
router.get('/disks', function(req, res, next) {
places.find({"category": "disks"}, function(err, disks){
if(err){
throw err;
}
res.render('disks',
{
'risime': JSON.stringify(disks)
});
console.log(disks); // PROPERLY LOGS TO THE CONSOLE
});
});
在hbs中,我试图捕获它,但我什至不认为它是JSON。
它是如何在客户端中记录的:
[{"_id":"5704630a7d4cd367f8dsdce7","name":"Seagate",:"This awesome Hard disk",","categories":["SDD","256GB"]}]
有什么问题,我该如何解决?
它是“ html转义”您的字符串的车把(通常是您想要的)。
如果您不想这样做,则可以使用“三重存储”表示法,如下所示:
{{{risime}}}
您可以在这里阅读有关此信息: http : //handlebarsjs.com/#html-escaping
我认为您需要在渲染之前添加以下内容:
res.type('application/json');
客户端将知道这是JSON,而不是HTML或纯文本,并且可以正确显示。
希望我的回答对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.