使用服务器端的express handlebar在node.js上显示字符串集合

yuvru6vn  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(316)

我有一个sql查询结果,我想用express手柄显示它

var x={} ;

//friends表获得name | profilename | status属性

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>
ny6fqffe

ny6fqffe1#

找到了!必须使变量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端,引用带有这个前缀的字段

<table>
<tr>
  <th>Name</th>

</tr>
{{#each friends}}
<tr>
  <td>{{this.profileName}}</td>

</tr>
{{/each}}

相关问题