在我的节点Express server.js中,我有以下路线:
app.get('/athlete_id_table', function(req, res) {
database.select('*').from('participants').then(data => {
console.log(data);
if (data.length) {
res.render('athlete_id_table', {
name: JSON.stringify(data)
});
} else {
res.json({
msg: 'Could not get athlete ID, first name and last name'
});
}
}).catch(err => res.sendStatus(400))
});
此路线返回运动员对象,其ID,运动员ID,电子邮件,名字和姓氏。
在“ athlete_id_table” hbs模板中,我返回了字符串化对象,并且在浏览器中看到的只是数组。
<body>
{{name}}
</body>
在浏览器中的输出: [{“ id”:1,“ athlete_id”:1,“ email”:“ xxxx@gmail.com”,“ first_name”:“ Josh”,“ last_name”:“ Stern”}]
我尝试添加.first_name,但是却得到了空白页。例如,有人可以告诉我如何显示名字。出于测试目的,数据库中只有一名运动员。
<body>
{{name.first_name}}
</body>
谢谢。
答案 0 :(得分:2)
name
是一个数组,而不是对象,因此要渲染名称,请使用{{name.[0].first_name}}
。