Cannot set headers after they are sent to the client

장영환·2024년 9월 27일

트러블슈팅

목록 보기
2/12

발단

  if(error.name === 'ValidationError'){
    res.status(409).json(error.message),
    console.log(error)
  }
  res.status(500).send('서버 내부 오류가 발생했습니다.');
  console.log(error)
  console.log(error.name)

res.[].[]
res 응답이 여러개가 실행되서 생기는 오류

결말

  if(error.name === 'ValidationError'){
    return res.status(409).json(error.message),
    console.log(error)
  }
  res.status(500).send('서버 내부 오류가 발생했습니다.');
  console.log(error)
  console.log(error.name)
}

return 으로 끊어서 출력시켜준다

다른 예시

if(Checkid === -1){         //id와 동일한 데이터를 찾아서 index 반환, 없으면 -1 반환
    return res.status(404).json("아이디가 존재 하지 않습니다")
  }
  if(password === userInfos[Checkid].password){
    return res.status(200).json("로그인 성공")
  }else{
    return res.status(409).json("로그인 실패. 비밀번호를 다시 입력하십시오")
  }

0개의 댓글