gpt4 book ai didi

javascript - 使用 res.render 并同时发送 json 文件

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:10 24 4
gpt4 key购买 nike

我有这个快速应用程序,其中 mongoDB 作为数据库,handlebars 作为服务器端模板引擎。我没有在我的应用程序中使用 AngularJS 或 Ajax。

在其中一条 route ,我必须渲染页面并从数据库发送 json 文件。但是,我无法实现这一目标。

这是我的路线代码片段:

router.get('/disks', function(req, res, next) {

var risime;

places.find({"category": "disks"}, function(err, disk){
if(err){
throw err;
}

risime= disk;
console.log(risime); //PROPERLY LOGS THE OUTPUT

});

res.render('diskPage',
{
'disks': risime
});

});

在 hbs 中,我试图捕获它,但我没有获取 json 数据:

  var clrisime= "{{risime}}"
console.log(clrisime); // DOES NOT LOG ANYTHIN

我该如何实现它?

最佳答案

你犯了两个简单的错误:

router.get('/disks', function(req, res, next) {

var risime;

places.find({"category": "disks"}, function(err, disk){
if(err){
throw err;
}

risime= disk;
console.log(risime); //PROPERLY LOGS THE OUTPUT

// this belongs inside your db callback
res.render('diskPage',
{
'disks': risime
// if you call your field 'disks' here, you need to write {{disks}} in your template
});
});


});
  1. 由于您想在响应中使用数据库结果,因此需要将 res.render 放入回调中。
  2. 模板内的变量名称和渲染对象的字段名称必须相同。

关于javascript - 使用 res.render 并同时发送 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36452494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com