大家好我得到以下错误
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:331:11)
at ServerResponse.header (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/response.js:662:10)
at ServerResponse.send (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/response.js:146:12)
at fn (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/response.js:896:10)
at View.exports.renderFile [as engine] (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/jade/lib/jade.js:325:12)
at View.render (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/view.js:76:8)
at Function.app.render (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/application.js:527:10)
at ServerResponse.res.render (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/response.js:900:7)
at /Users/rajesh/Documents/NodeProject/nodetest1/app.js:57:9
at Layer.handle_error (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/layer.js:58:5)
任何人都可以告诉我它可能是什么原因。我的代码是
router.post('/readCSVFile',function(req,res){
if(typeof req.files.fileCSV === 'undefined'){
var err = {message: 'Please Select CSV file'};
res.render('error', {message: err.message,error: err});
}
var reader = yaCSV.createCsvFileReader(req.files.fileCSV.path,{
'separator':',', 'quote':'"', 'escape':'"'
});
reader.addListener('data',function(data){
var json = createJsonObject(data);
_data.push(json);
});
reader.addListener('error',function(err){
console.error("err.status " + err.status);
//err.status = 500;
//res.status(500);
err.message = 'Select the proper CSV file';
res.render('error', {message: err.message,error: err});
console.error(util.inspect(err));
});
reader.addListener('end', function() {
res.render('renderCSV',{data: _data});
});
var _data = [];
});
答案 0 :(得分:0)
添加"返回"每个" res.render"之后的声明命令。
答案 1 :(得分:0)
我弄明白为什么它不适合我。我在回调函数中遇到了多个错误,这些错误在'ya-csv'中注册了错误。因为我已经发送了一个响应。我的代码正在尝试发送第二个响应,因此也发送错误。我通过put和if条件将其整理出来并制作一个。
由于 -Learner