数据绑定到node.js中的ejs文件不起作用
听起来像是在ejx文件中,我无法显示传入的数组中的值 我正在尝试使用node.js、express创建一个数据绑定概念证明,在这里,我将数据传递到ejs文件,以显示在ejs文件中。我关注了好几篇文章,但我无法让它与我的例子一起工作 在路由器(index.js)中,我有以下代码:数据绑定到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
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文件中的数据,而无需更改任何其他内容
谢谢