数据绑定到node.js中的ejs文件不起作用

数据绑定到node.js中的ejs文件不起作用,node.js,Node.js,听起来像是在ejx文件中,我无法显示传入的数组中的值 我正在尝试使用node.js、express创建一个数据绑定概念证明,在这里,我将数据传递到ejs文件,以显示在ejs文件中。我关注了好几篇文章,但我无法让它与我的例子一起工作 在路由器(index.js)中,我有以下代码: request.on('row', function (columns) { const datas = []; columns.forEach(function (column) { if (column.val

听起来像是在ejx文件中,我无法显示传入的数组中的值

我正在尝试使用node.js、express创建一个数据绑定概念证明,在这里,我将数据传递到ejs文件,以显示在ejs文件中。我关注了好几篇文章,但我无法让它与我的例子一起工作

在路由器(index.js)中,我有以下代码:

request.on('row', function (columns) {
const datas = [];
columns.forEach(function (column) {
   if (column.value === null) {
         console.log('NULL');
    } else {
         datas.push (column.value)
    }
 });
 datas.forEach(function (value) {
         console.log(value)
 });
 res.render('test.ejs', {
       "players": datas
  }
 )
 });
当我运行这段代码时,它以json显示控制台中的值 [{“id”:2,“first_name”:“…”,“last_name”:“…”,“position”:“…”,“number”:“,“image”:“xyz”,“userName”:“…”)(基于sql数据架构)

我在.ejs文件中尝试了以下代码来显示数据

<% players.forEach((player, index) => { %>
   <tr>
    <th scope="row"><%= player.id %></th>
     <td><%= player.first_name %></td>
     <td><%= player.last_name %></td>
{%>

这是行不通的

在.ejs文件的顶部,我有一行:

<% if (players.length > 0) {%>
0){%>
正如我所理解的,这一行可以工作,因为当我刷新.ejs文件时,它会在列表中打印“@”符号,而不会打印任何其他内容

任何帮助都将不胜感激。我正在使用另一个stackoverflow帖子中的示例,可能是因为我对ejs缺乏了解。这就是为什么我看不出我做错了什么


关于如何在.ejs文件中显示绑定数据的代码示例或修复程序

我发现,在绑定发生之前,我必须解析数据库对象。下面是我如何更改代码的:

res.render('index.ejs', {
                        "title": "Welcome to Socka | View Players",
                        "players":JSON.parse(datas)
现在我可以看到.ejs文件中的数据,而无需更改任何其他内容


谢谢。

我想出来了,我必须在绑定之前解析数据库对象。下面是我如何更改代码的:

res.render('index.ejs', {
                        "title": "Welcome to Socka | View Players",
                        "players":JSON.parse(datas)
现在我可以看到.ejs文件中的数据,而无需更改任何其他内容

谢谢