我有要使用Express-Handlebars显示的sql查询结果
var x={} ;
// friends表具有名称| profileName |状态属性
dao.findFriends(req.session.UserName,function(err,rows,fields){
x=rows;
for(var i=0;i<rows.length;i++){
console.log(rows[i].profileName);
}
});
res.render('home',{body:'hello ...'+req.session.UserName,friends:x});
简单字符串显示正常 而不是sql结果
<table>
<tr>
<th>Name</th>
</tr>
{{#each friends}}
<tr>
<td>{{profileName}}</td>
</tr>
{{/each}}
</table>
答案 0 :(得分:0)
找到了! 必须使变量 x 接受json数组和.. 并将所有结果推送到for循环内的 x 中
var x =[];
dao.findFriends(req.session.UserName,function(err,rows,fields){
if(!err){
console.log('listing friends');
//list in bunch of <li> <ul> </ul>
for(var i=0;i<rows.length;i++){
console.log(rows[i].profileName);
//x = rows;
x.push({
profileName: rows[i].profileName
});
}
}
else
console.log('err finding people...');
res.render('home',{body:'hello ...'+req.session.UserName,friends:x});
});
在html端是指具有 this 前缀
的字段<table>
<tr>
<th>Name</th>
</tr>
{{#each friends}}
<tr>
<td>{{this.profileName}}</td>
</tr>
{{/each}}