this question has answer here:
- how return response asynchronous call? 25 answers
i have express application mongodb database , handlebars server-side templating engine. not using angularjs or ajax in application.
in 1 of routes, have render page send on json file database. however, not able achieve this.
this code snippet route:
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 output }); res.render('diskpage', { 'disks': risime }); });
in hbs, trying capture it, not getting json data:
var clrisime= "{{risime}}" console.log(clrisime); // not log anythin
how make happen?
you made 2 simple mistakes:
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 output // belongs inside db callback res.render('diskpage', { 'disks': risime // if call field 'disks' here, need write {{disks}} in template }); }); });
- since want use database result in response, need put res.render inside callback.
- the variable name inside template , field name of render object must same.
Comments
Post a Comment