javascript - 使用 Node.js 和 Handlebars 显示数据库查询的内容

标签 javascript node.js handlebars.js

我正在从一个页面路由到另一个页面,并尝试在我的用户 display.js 中的下一页上显示数据库查询的内容

exports.list = (req, res) => {
console.log("we have activated userdisplay.js\n");
db.query('SELECT * FROM User', (error, results, fields) => 
{
    console.log('we did a query');
    if(error) 
    {
        console.log("Error: ",error);
        res.send({
            "code": 400,
            "failed": "Error occurred"
        });
    } else {
        console.log("Results: ",results);
        /*res.send({
            "code": 200,
            "success": "Database successfully logged"
        });*/
        res.render('tempdisplay.html', {data: results});           
    }
});

}

所以我有了数据,但现在我需要显示它。我尝试使用 Handlebars 将 tempdisplay.html 文件中 res.render() 发送的数据对象转换为使用

的字符串
<script>

  var user = [
      {{#each data}}
          {
              email: '{{email}}',
              fname: '{{fname}}',
              lname: '{{lname}}',
              pass: '{{pass}}'
          }
      {{/each}}
  ];

</script>

当我尝试运行它以将它们转换为字符串时,它给我一个“无效的正则表达式:文件中缺少/”错误。仅当存在此脚本时才会发生此错误。我的文件中包含 jquery 和 Handlebars ,我的其他文件与 paths/cdn 一起使用。我似乎不太明白如何使用 Handlebars 来显示数据。如果我创建另一个 js 文件,我将无法看到返回到 tempdisplay 的数据对象,但如果我尝试在 html 文件中创建一个 Handlebars 脚本,则会出现语法错误。

最佳答案

要在客户端显示数据,通常的方法是将其插入到服务器上的模板中:

// fill tempdisplay.hbs with results, send to client
res.render('tempdisplay', {data: results});

模板文件 tempdisplay.hbs 的示例如下:

<table>
    <tbody>
        {{#each data}}
            <tr>
                <td>{{this.fname}}</td>
                <td>{{this.lname}}</td>
            </tr>
        {{/each}}
    </tbody>
</table>

关于javascript - 使用 Node.js 和 Handlebars 显示数据库查询的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49541074/

相关文章:

twitter-bootstrap - 变形在 Ember.js View 中弄乱 CSS

javascript - 数据未附加到 Handlebars.js 中的元素

javascript - 无法调用自定义插件

javascript - 需要从附加到 onload 事件的函数返回一个变量

javascript - Cookie 未随 Web 应用 manifest.json 请求一起发送

javascript - 是否可以为数字输入框中的小按钮添加事件监听器?

node.js - Typescript 中的 out 目录具有相同的目录结构,怎么样?

mysql - 如何跨多个服务器nodejs和socket.io存储socket.id

javascript - 安装 angularjs2 cli 时 npm 不工作 - “read ECONNRESET”

javascript - 在express.js中创建使用http DELETE动词的href链接