인프런 커뮤니티 질문&답변

rail님의 프로필 이미지
rail

작성한 질문수

Slack 클론 코딩[실시간 채팅 with React]

axios로 요청 보내기와 CORS, proxy

회원가입 500 에러 (Internal Server Error)

작성

·

1.4K

0

회원가입을 시도할 경우 500 에러가 납니다.

const onSubmit = useCallback(
    (e) => {
      e.preventDefault();
      // console.log(email, nickname, password, passwordCheck);
      if (!mismatchError) {
        console.log('서버로 회원가입하기');
        setSignUpError('');
        setSignUpSuccess(false);
        axios
          .post('/api/users', { email, nickname, password })
          .then((response) => {
            console.log(response);
            setSignUpSuccess(true);
          })
          .catch((error) => {
            console.log(error.response);
            setSignUpError(error.response.data);
          })
          .finally(() => {}); 
      }
    },
    [email, nickname, password, passwordCheck, mismatchError],
  );

개발자 도구의 network 탭을 보니 아예 요청이 가지 않는것 같습니다. 어디서 문제인걸까요..?

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

요청은 갔을 겁니다. 다만 네트워크탭을 늦게 여셨을 겁니다. 백엔드 서버쪽에 에러메시지가 있을 겁니다.

rail님의 프로필 이미지
rail
질문자

POST /api/users 500 27.590 ms - 1460
Error: secret option required for sessions
    at session (C:\Users\user\Desktop\coding\sleact\server\node_modules\express-session\index.js:200:12)
    at Layer.handle [as handle_request] (C:\Users\user\Desktop\coding\sleact\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\user\Desktop\coding\sleact\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\user\Desktop\coding\sleact\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\user\Desktop\coding\sleact\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\user\Desktop\coding\sleact\server\node_modules\express\lib\router\index.js:275:10)
    at cookieParser (C:\Users\user\Desktop\coding\sleact\server\node_modules\cookie-parser\index.js:57:14)
    at Layer.handle [as handle_request] (C:\Users\user\Desktop\coding\sleact\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\user\Desktop\coding\sleact\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\user\Desktop\coding\sleact\server\node_modules\express\lib\router\index.js:284:7

말씀주신대로 네트워크 탭에서 요청 가진거는 다시 한번 확인했습니다.

위에 코드는 서버 에러입니다! 혹시 .env 파일 문제일까요??? MYSQL_PASSWORD도 .env 파일에 잘 명시해뒀는데 적용이 안되어서 server/config/config.js 파일에 직접 문자열로 넣어줬었습니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

저 에러는 process.env.COOKIE_SECRET이 express-session에 들어가지 않았을 때 발생하는 에러입니다.

.env가 인식이 안 되었으면 express-session에도 직접 적으셔야겠습니다.

rail님의 프로필 이미지
rail

작성한 질문수

질문하기