[안드로이드] Cannot set headers after they are sent 에러
Retrofit을 이용해서 node.js 연동 작업 중 아래와 같은 에러를 발견했다.
Can't set headers after they are sent라는 에러인데, 해당 에러는 res.redirect() 처리가 잘못 되었을 때 발생한다.
대게는 중복처리를 했을 경우에 발생한다고 한다!
if문이나 for문에서 실수를 자주 범한다고 한다.. 중복처리가 되어있는지 한번 확인해보자.
역시나 바보같이 res.send와 res.json을 같이 써주었다.
공부를 해보니
res.send()는 기본적으로 response를 보내는 역할을 하고, res.json()은 json형태로 데이터를 주고받기 위해 사용하는 메소드이다.
결국 둘다 보내는 역할을 해주어 중복처리를 해주었던 것이다... 이것저것 코드 복붙을 하니 이런 결과가 ... 😝
res.send()는 안드로이드에서 확인해보려고 적어주었으나 중복처리하여 코드를 없애주었다.
그랬더니 잘 돌아간다 😃
Express res.json과 res.send 비교
이름에서부터 알 수 있듯 res.send()는 기본적으로 response를 보내는 역할을 합니다. 그리고 이게 기본이라고 생각하면 됩니다.기본적으로 서버에서 response를 처리할 때, Content-Type을 지정해주어야
velog.io
[Debugging] node.js 에서 Cannot set headers after they are sent to the client 에러 발생할 때
하이~ 웹서버 데몬을 올리고 post 로 url을 전송할 때 이런 에러가 발생했다.. 이 에러메세지는 기본적으로 응답값 리다이렉트 처리가 잘못 되었을 때 발생하는데, 대게는 중복처리를 했을 경우 발
devkingdom.tistory.com