繁体   English   中英

Node.js:从猫鼬查询返回正确的JSON

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM