有两次请求发送此错误显示并且我的服务器关闭
我使用了这段代码:
exports.getAllCompany = function (req, res) {
Company.find({}, function (err, record) {
if (err) {
res.json({
type: false,
resultData: "Error occured: " + err
});
} else {
res.json({
type: true,
company: record
});
}
});}
错误消息:
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:356:11)
at ServerResponse.header (/app/node_modules/express/lib/response.js:730:10)
at ServerResponse.send (/app/node_modules/express/lib/response.js:170:12)
at ServerResponse.json (/app/node_modules/express/lib/response.js:256:15)
at /app/server/mobile_api/AdminController/dashboard.js:279:17
at Query.<anonymous> (/app/node_modules/mongoose/lib/model.js:3388:16)
at /app/node_modules/kareem/index.js:259:21
at /app/node_modules/kareem/index.js:127:16
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
答案 0 :(得分:3)
终于经过很长时间才能解决问题。按照我的回答谁有同样的问题,
exports.getAllCompany = function (req, res) {
res.writeHead(200, {"Content-Type": "application/json"});
Company.find({}, function (err, record) {
if (err) {
res.end(JSON.stringify({
type: false,
resultData: "Error occured: " + err
}));
} else {
res.end(JSON.stringify({
type: true,
company: record
}));
}
});
}
答案 1 :(得分:0)
很可能你不止一次地调用res.send()
分享/app/server/mobile_api/AdminController/dashboard.js文件会很有帮助