尝试将一些数据从 nodejs 发送到 html 中的脚本

trying to send some data from nodejs to script in html

我在前端使用 hbs 作为视图。 我试图像这样从 nodejs 将数据发送到我在 html 中的脚本:

router.get('/home',authController.isLoggedIn, (req ,res) => {
if(req.user){
    db.query('SELECT * FROM posts ORDER BY id desc ', (error,results) => {
        if (error) {
            console.log(error);
        } else {
            let categories;
            db.query('SELECT * FROM categories', (error,result) => {
                if (error) {
                    console.log(error);
                } else {
                    console.log(result);
                    categories = result;
                    return res.render('home',{
                        results: results,
                        categories: categories
                    });
                }
            });
        }
    });
}else {
    res.redirect('/login');
}

});

然后当我尝试使用 javaScript 在脚本中调用它时,它告诉我有问题

<script>
        alert(results);
 </script>

我想知道如何正确调用脚本中的对象

编辑:

数据应该是这样的:

  [
  RowDataPacket { id: 1, category: 'Music' },
  RowDataPacket { id: 2, category: 'Memes' },
  RowDataPacket { id: 3, category: 'Tech' }
  ]

对于 EJS 示例,如果传递数据 msgs:

    res.render("index.ejs", { 
        msgs
     })
  1. js处理数据:
    <p>
        <% 
            msgs = msgs.map(function(msg) {
                return '<div>' + msg.name + '</div>' + '<div>' + msg.msg + '</div>'+ '<div>' + msg.time + '</div>'
            }) 
        %>
    </p>
  1. 直接打印:
    <p><%- msgs.join("<hr />") %></p>
  1. 保存在全局变量中
    <script>
        window.serverMsgs = <%- msgs %>;
    </script>

车把:

    <script>
        window.serverMsgs = {{msgs}};
        alert(window.serverMsgs)


        {{#each results}}
                {
                    "id": {{id}},
                    "category": "{{category}}",
                }
                {{#unless @last}},{{/unless}}
        {{/each}}

    </script>
<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>{{title}} - Page Test</title>
</head>
<body>
    <div class="description">{{description}}</div>
    <ul>
{{#datas}}
        <li class="item" id="item_{{index}}"><span>{{time}}</span><a href="{{url}}" class="art">{{title}}</a></li>
{{/datas}}
    </ul>

</body>
</html>

你可以看看这个类似的问题:)