app.post('/post/upload', (req, res) => {
counter
.findOne({name: "counter"})
.then((counterInfo) => {
post
.insertOne({
_id: counterInfo.postNum,
title: req.body.title,
contents: req.body.contents,
date : new Date()
})
.then(() => {
counter
.findOneAndUpdate(
{name:"counter"},
{
$inc : {postNum: 1},
}
)
.then(() => {
res.redirect("/");
});
});
})
.catch((err) => {
console.log(err);
res.send("글 저장에 실패");
});
})
이렇게 했는데 에러가
node:internal/errors:464 ErrorCaptureStackTrace(err);
at new NodeError (node:internal/errors:371:5)
at ServerResponse.setHeader (node:_http_outgoing:576:11)
at ServerResponse.header (D:\inflearn-express\node_modules\express\lib\response.js:776:10)
at ServerResponse.location (D:\inflearn-express\node_modules\express\lib\response.js:893:15)
at ServerResponse.redirect (D:\inflearn-express\node_modules\express\lib\response.js:931:18)
at D:\inflearn-express\index.js:38:13
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
code: 'ERR_HTTP_HEADERS_SENT'
}
[nodemon] app crashed - waiting for file changes before starting...
이렇게 나길래 찾아보니까 이미 응답을 보냈는데 한번더 응답을 보내려 할때 서버에서 충돌이 나서 오류가 나는거라고 하더라구요? 그래서
res.redirect("/"); 여기를
return res.redirect("/");
이렇게 고치니까 에러가안나는데 맞는건가요???
라우팅 규칙 꼬인게 맞는거 같아요!
뒷강의 수강하다가 다시 return 지우니까
에러가 안뜨네요 답변감사합니다