HTML テンプレート (ハンドルバー) に印刷したいオブジェクトがあります。値は、mysql サーバーからのカウント クエリです。クエリを含む関数は次のとおりです。
function getGrade7Applicants(req, res, next) {
connection.query('SELECT COUNT(*) FROM applications WHERE grade="Grade 7" ', function (err, rows, fields) {
if (err) {
return next(err);
};
req._applications7 = rows;
return next();
});
}
ルーターファイルに対する私のGETリクエストは次のとおりです。
router.get('/dashboard', getGrade7Applicants, function (req, res, next) {
res.render('admission/dashboard', {
applications: {
'grade7': req._applications7
}
});
});
ハンドルバーヘルパーは次のとおりです。
Handlebars.registerHelper('toJSON', function(object){
return new Handlebars.SafeString(JSON.stringify(object));
});
そして最後に、私のhtmlテンプレートは次のとおりです。
<div class="alert alert-success" role="alert">
<p style="font-size:75px; text-align:center;">{{toJSON applications.grade7}}</p>
<p style="text-align:center;"><strong>7th GRADE Applications<strong> </p>
</div>
このすべての後、私のWebページの出力は[{"COUNT(*)":20}] です
クエリの一部を出力する理由がよくわかりません。20 は、印刷したい正しい値です。