[Nest.js] Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
Programming/Node.js 2024. 12. 2. 21:00반응형
1. 여러 원인이 있었지만, 공통적인 원인은 서버에서 같은 클라이언트에게 2번 이상 연속으로 응답을 전송하면 발생했다.
2. 필자 같은 경우는 아래와 같이 코딩 되어 있었다.
@Get('/index')
@Render('index')
getAddminIndex(@Req() req : Request, @Res() res: Response) {
return res.redirect("/admin/login");
}
3. 처음 위 코드만 봤을때 return 한번만 수행하므로 이상이 없어보였다.
4. 자세히 살펴보니 @Render('index') 부분에 한번 더 호출한다는 것을 알아냈다.
5. 그래서 아래처럼, @Render 을 쓰지 않고, 직접 호출하는 방식으로 작성하여 해결 되었다.
@Get('/index')
getAddminIndex(@Req() req : Request, @Res() res: Response) {
if (해당 조건이면) {
// 리다이렉트
return res.redirect("/login");
} else {
// index 페이지 Render
res.render('index');
}
}
반응형
'Programming > Node.js' 카테고리의 다른 글
[Nest.js] Handlebars template in hbs(Handlebars) (0) | 2024.11.26 |
---|---|
[Nest.js] Table leftJoin with Mysql2 (0) | 2024.11.24 |
[Nest.js] AWS DB Tunneling With Mysql Setting (터널링 및 Mysql 설정) (2) | 2024.11.24 |
[MongoDB] 랜섬웨어 (READ__ME_TO_RECOVER_YOUR_DATA) (0) | 2024.04.06 |
[Node.js/mongoose DB] cascade delete 기능 구현하기 (0) | 2021.12.10 |