0

我正在使用 csv 解析器读取 csv 文件并将接收到的 csv 文件数据传递给 ejs 模板文件进行打印,因此数据为对象格式,因此我使用了 stringyfy 但因此出现错误。

错误:

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client:

节点js代码

app.get('/', function (req, res, next) {
    fs.createReadStream('./Employee.csv')
        .pipe(csv())
        .on('data', function (rows) {
            try {
            var ParsedData=  data:JSON.stringify(rows);
                 res.render('Emp_details',{data:ParsedData});
            }
            catch (err) {
                //error handler
            }
        })
        .on('end', function () {
            //some final operation
        });


});

在 ejs 模板文件中打印数据的代码:

<% for(var i = 1; i<= data1.length; i++) { %>
         <%=i %>
       <% } %>
    
4

1 回答 1

2

您收到错误是因为res.render只能调用一次,但每次事件data触发时都会调用它。

//some final operation收集所有数据后,您需要在放置评论的地方调用它。

于 2022-01-06T09:20:34.083 回答