【发布时间】:2021-12-08 13:48:30
【问题描述】:
我是编程新手,我正在尝试使用 nodejs/expressjs 构建一个 Web 应用程序。 所以基本上在 post 路由上,在后端进行一些处理后,它在结果变量中给出了一个 对象数组,我想使用这个结果变量数据并在 html 文件中构造一个 表 并将这个 table.html 文件作为响应发送给客户端
我遇到的问题是如何使用这个结果变量在html文件中动态添加表格元素(因为数组大小每次都会改变)
我使用的方法
- 我创建了与同一个 html 文件链接的 table.html 和 table.js。但是当 table.html 作为响应发送时,html 文件和 table.js 文件在客户端呈现并且无法通过我从服务器获得的结果值到该 table.js 文件(我得到一个未定义的文档错误)
- 我尝试使用 EJS 模板..如何创建一个使用 ejs 变量循环遍历数组数据并显示表的函数..我无法做到
如果有人可以帮我显示result=[{name:'james', id:23},{name:'joe',id:35}]
以 html 文件作为响应
main.js
app.post('/dataTbale',(req,res) => {
// after some processing i get array of obj that i store in result variable
const result=[{name:'james', id:23},{name:'joe',id:35}];
res.send('table.html);
})
table.html
<html>
<body>
<h2>table</h2>
<div id="show_table"></div>
<script src="table.js"></script>
</body>
</html>
table.js
const tableDiv=document.queryselector('#show_tabel');
result.forEach((obj) => { //<==== i want to pass that result data here.
tableDiv.innerHTML += result;
});
P.S 只是想知道这是否可行,然后我可以创建表
【问题讨论】:
-
据我了解,您在服务器端渲染 (SSR) 中想要什么。有很多方法可以做到这一点。您可以查看一些教程以开始使用
-
我会将构建 html 表的 JS 导入到向服务器发出请求并处理响应的同一文件中。然后我会将响应作为参数传递给您导入的生成/构建表的 javascript 函数。然后该函数将使用新元素更新 DOM(您可以为此使用 DOM api 或像 React 这样的库,它只会在传递某些道具(如行数)后重新呈现组件)。
标签: javascript html node.js html-table frontend