• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 react node 회원가입 연동 관련 질문

react node 회원가입 연동 관련 질문

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #54090

    배희창
    참가자
    선생님 거의 다 완성되갑니다... 회원가입이 큰 고비입니다. 킁
    
    빌드해서 진행하면 오류가 안나려나 해서 빌드까지 했는데도 어찌 해결할지 모르겠네요..
    ( 그전까지 3000 npmstart / nodemon server.js 따로따로 띄워놓고 개발했습니다. 빌드안해서 문제인줄알고 모든 요청도
    localhost:8080/category 이런거 다 /category 로 전부 바꿔서 서버실행시 페이지는 깨지는거 없이 정상작동인 상태 )
    
    지금 상황은
    node 안에 react 빌드시켜서 , 선생님이 말한데로
    
    요상태라 nodemon server.js 로 서버 실행시키고
    브라우저에서 localhost:8080/ 접속하면 아주 잘됩니다. 데이터 바인딩이나 crud 그런거 여태까지 선생님 덕분에 잘 됩니다.
    
    nodejs 로그인 파트 부분대로 다 만들었는데 문제가 생긴게
    
    세션아디 발행도 잘 됬거든요?? 로그인 실패하면 세션 발행을 안할테니??
    
    근데 이제 이 코드부분이 문제인거같은데
    
    
    로그인폼에서 아디비번 둘다 치고 form submit으로 post 요청하면 fail로 안가고 8080으로 잘 redirect 되고, 세션쿠키도 받았는데
    콘솔
    로그인 되면, 리다이렉트시 저 순간 500 에러가 뜹니다.
    서버 재실행시키고, 브라우저 새로고침하면 정상으로 다시 웹페이지 랜더링 됩니다.
    
    상황설명은 이렇게 마무리하고 인제 궁금한거를 여쭤보겠습니다.
    
    1. 위에 상황은 어찌 해결해야 합니까!? ( 서버 재실행 안하면 모든 /경로 다 object object 이런식으로 뜨고 500 에러뜹니다 )
    
    2. 리액트 라우터로 만든 /admin은 관리자 페이지인데, node 강의처럼
    
    저 로그인했니 함수는
     /mypage get 요청시 중간에 사용하는 함수인것도 이해했는데 이경우는 ejs를 랜더해서 보내주는데, 
    리액트에서 라우터를 담당하는경우에는 어떻게 저 부분을 적용할수있을까요?
    
    login post 요청시 -> 세션아디 발행, 로그인검사 -> /admin 페이지로 보냄
    로그인 안하고(세션아디없이) 임의로 악성유저가 /admin 경로로 접속시 로그인했니 함수 적용
    
    
    항상 긴 질문 답변해주셔서 감사합니다 선생님..
    
    
    #54108

    codingapple
    키 마스터
    서버랑 ajax로 통신하면 .redirect .render 이런코드 동작안해서 
    서버에서 .send()같은걸로 메세지만 보내고 리액트는 메세지받으면 페이지 이동시켜주면 됩니다 
    
    
    
    #54429

    배희창
    참가자
    선생님 1차 500 에러는 해결했습니다 감사합니다.
    
    
    서버는 말씀대로 테스트상 good이라는 메세지를 보내서
    
    서버는 아디 비번 다 정상이여야 good을 전송해주니
    axios로 요청한 결과값이 good이면 navigate로 이동시켜주었습니다.
    
    
    
    저 Login했냐는 함수 부분 관련 재 질문인데
    
    서버코드는
    
    
    로그인 없이 방문시( 세션쿠키없이 )
    
    
    이렇게 뜨고, 로그인했으면
    
    
    이렇게 되는데 저걸 후처리 하기위해
    
    백단에서는 redirect하면 오류나니 리액트에서
    navigate로 admin으로 가라고 코드를짜면
    무한대로 admin으로 방문세례를 보냅니다.
    
    url을 get요청시에만 함수를 실행하려면 어떤 방법이 있을까요..?
    #54437

    배희창
    참가자
    let [pathName] = window.location.pathname;
    이걸로
      useEffect(()=>{
        axios.get(`http://localhost:8080/${pathName}`).then((result) => {
          if(result.data == 'test'){
            navigate(`/${pathName}`)
          }
        })
        .catch(() => {
          console.log('데이터 로딩에 실패했습니다.')
        })
      },[pathName])
    
    pathName 변경시에만 get요청해서 받은값이 맞으면 그 경로로 이동시켜주는 코드를 사용하면
    작동은 잘 하는데
    
    새로고침만 하면
    
    res.send값이 출력되는 오류가 생겼습니다 허허 사실상 로그인했니 함수는 적용되지만 F5만 누르면
    작동을 안하는 멍청이가 되었습니다... 팁이 있을까요??
    #54440

    배희창
    참가자
    이게왜
    아니 이러면 로그인세션확인도 하고 잘되는데 맞는코드입니까...!? 왜 잘될까요
    #54498

    codingapple
    키 마스터
    잘되면상관없는데 로그인 틀렸을 때도 의도대로 잘 동작하나 확인합시다
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠