当我运行我的Web应用程序时,我得到了这个错误。这是突然发生的。我的应用程序是MEAN堆栈应用程序whicj通过API进行端到端连接。
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:344:11)
at ServerResponse.res.set.res.header (D:
这是一个暴露的API。
app.post('/api/filesReadUpload', function(req, res) {
var eventReadUpload=new filesReadUpload({
//id:req.body.id,
dat:req.body.dat,
details:req.body.details,
tim:req.body.tim,
// space:req.body.space
});
eventReadUpload.save(function(err) {
if (err)
res.send(err);
res.json({ message: 'Read file!' });
});
});
任何人都可以支持。如果这些信息不够,请通知我。
由于
答案 0 :(得分:2)
出现ERR_CONNECTION_REFUSED
,因为服务器已关闭。服务器关闭的原因是由于您指出的错误:
错误:发送后无法设置标头。
这意味着您尝试两次发送响应。如果出现错误,您必须运行return res.send(err)
,因为如果出现错误,您不想调用res.json
。如果您这样做(目前正在发生的事情),您将收到该错误。
eventReadUpload.save(function(err) {
if (err)
return res.send(err);
res.json({
message: 'Read file!'
});
});
您必须弄清楚保存失败的原因,但这将解决最初的问题。