Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- intellij
- Concurrently
- spring-boot
- 계산맞추기 게임
- 리액트
- 거북이 대포 게임
- 웹 게임을 만들며 배우는 리액트
- node.js로 로그인하기
- Spring-Framework
- 자바스크립트
- DB Browser
- vs code 내 node
- 인프런
- 모두의 파이썬
- 따라하며 배우는 노드 리액트 기본 강의
- Colaboratory 글자 깨짐
- react오류
- 노드에 리액트 추가하기
- react
- intllij 내 Bean을 찾지 못해서 발생하는 오류
- 타자 게임 만들기
- Do it 자바스크립트 + 제이쿼리 입문
- You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client"
- JS 개념
- ReactDOM.render is no longer supported in React 18. Use createRoot instead
- 모던자바스크립트
- Python
- node.js 설치
- googleColaboratory
- props
Archives
- Today
- Total
프로그래밍 삽질 중
[JS - node.js] Cannot set headers after they are sent to the client 오류 본문
과거 프로그래밍 자료들/Javascript&typescript
[JS - node.js] Cannot set headers after they are sent to the client 오류
평부 2022. 1. 16. 22:55* 윈도우 기준
* 웹을 만드는 도중 404 error : 요청한 페이지 찾을 수 없음,
500 error : 맞긴 한데 뭔가 잘못해서 정확한 값을 찾지 못함으로 분리해서 만들었는데 session의 header값들이 나오지 않음
-> 원래 목적 : 로그인 시 session을 통해 nickname의 값이 나오도록 하는 것이 목적
[오류 모습]
1
2
3
|
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at new NodeError (node:internal/errors:371:5)
at ServerResponse.setHeader (node:_http_outgoing:576:11)
|
cs |
* 문제 해결 시 참고한 블로그
(https://velog.io/@yhe228/ERRHTTPHEADERSSENT-Cannot-set-headers-after-they-are-sent-to-the-client)
[무엇이 문제?]
-> 원인 : 서버가 클라이언트에 둘 이상의 응답을 보내려고 할 때 발생하는 오류.
주어진 클라이언트 요청에 대해 서버가 이전에 응답 (요청 된 리소스가있는 성공 응답 또는 잘못된 요청에 대한 오류 응답)을 클라이언트로 보냈고 이제 예기치 않게 다른 응답을 보내는 것
[해결방법] -> 응답이 클라이언트에 전송되도록 return문 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
//수정 전
app.use(function(request, response, next) {
response.status(404).send('Sorry cant find that!');
});
app.use(function (err, request, response, next) {
console.error(err.stack)
response.status(500).send('Something broke!')
});
//수정 후 -> response 앞에 return을
app.use(function(request, response, next) {
return response.status(404).send('Sorry cant find that!');
});
app.use(function (err, request, response, next) {
console.error(err.stack)
return response.status(500).send('Something broke!')
});
|
cs |