从快速 NodeJS 中的选中复选框获取所有"name"属性



我正在尝试获取所有"name";属性,这样我就可以从服务器上的一个目录下载选定的文件。前端是用EJS编写的,并创建一个div、p和name="的复选框;它所属文件的名称";对于目录中存在的每个文件

<form method="POST" action="/download">
<% if(fileData.length > 0) { %>

<% fileData.forEach(fileData => { %>
<div>
<p>
<input type="checkbox" name="<%= fileData.name %>">
<%= fileData.name %>
</p>
</div>
<%})%>
<%}%>
<button type="submit">Download selected</button>
单击提交按钮后,将发送POST请求,该请求只需打印选中复选框的所有名称
router.post('/download', function(req, res, next) {

//this function will later download the files
console.log(req.body); //this prints { 'selectedFile1.txt': 'on', 'selectedFile2.txt': 'on' }
});

如何只从req.body中获取所选文件的名称,而不使用"on"?是否有其他方法只获取选定复选框的名称?

您可以使用for。。。循环中迭代对象中的键,如下所示:

const data = { 'selectedFile1.txt': 'on', 'selectedFile2.txt': 'on' }
let fileList = []
for (item in data) {
fileList.push(item)
}
console.log(fileList)

最新更新