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

home2 게시판 Next.js 게시판 회원가입 - form 태그로 데이터 전송 후 서버 response 기능

회원가입 - form 태그로 데이터 전송 후 서버 response 기능

  • 이 주제에는 3개 답변, 2명 참여가 있으며 codingapple2 년 전에 전에 마지막으로 업데이트했습니다.
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #88027

    임은상
    참가자
    회원가입 할 때
    브라우저에서 form 태그로 서버에 요청보내고,
    스크린샷 2023-06-22 오후 5.20.37
    서버에서는 이메일 중복 체크하고 DB에 저장하는데
    스크린샷 2023-06-22 오후 7.33.30
    이 때 중복 체크 또는 DB에 저장 후 response.status().json() 이런식으로 응답하면
    응답 후에 서버 요청 주소로 페이지가 이동되지 않습니까
    스크린샷 2023-06-22 오후 7.47.54
    
    이게 보기 싫어서 다음과 같이 alert 창을 띄운 후 페이지 이동하는 코드를 작성했습니다
    스크린샷 2023-06-22 오후 7.32.28
    
    테스트를 위해 일부러 중복 이메일을 기입하고 회원가입을 시도해봤습니다
    32번째 조건문을 만나면 조건문을 수행하고 끝인 줄 알았는데
    39번째 줄을 포함한 밑에 있는 모든 코드가 실행되더라구요
    
    질문입니다
    33번째 줄에서 응답을 보내고 종료하려면 어떤 방법이 있을까요??
    검색해보니 nodejs에서는 return <-- 을 붙이면 된다고 하는데 nodejs랑 달라서 그런가 붙여도 안되네요
    왠만한 시도는 다 해봤습니다 
    .status().json() 과 .send()를 붙여서도 써봤고, (<--문법 오류남)
    .send() 밑에 .status().json() 써봤고, (<-- 2개 이상의 응답을 보냈다고 오류남)
    .send() 안에 페이지 이동하는 코드를 삭제하고 .redirect()와 섞어서도 써봤습니다. (<-- 하여튼 안 됌)
    
    혹시 해결책을 아시는 스앵님 계시면 도움 주시면 감사하겠습니다
    
    (이메일이 중복됐으면 중복됐다, 회원가입이 완료되면 완료됐다고 꼭 유저에게 알릴 수 있으면 좋겠습니다 (꼭 alert로 경고문을 띄우지 않아도 됩니다))
    
    #88040

    codingapple
    키 마스터
    컬렉션에 있는 모든 document 가져와서 반복문돌리면 비효율적이라 findOne 씁시다 
    map 함수 바깥에 return 응답.send 사용해야 바로 종료됩니다 
    
    
    #88112

    임은상
    참가자
    아아 많이 배웁니다 감사합니다
    
    혹시 한글 깨짐 관련해서 하나만 더 질문해도 될까요
    스크린샷 2023-06-23 오전 10.51.38
    alert 안에 한글을 입력하면 깨집니다
    검색해보니
    1. <script> 태그 안에 charset='utf-8' 추가하거나  (<-- 위 사진과 같이 작성해봤으나 여전히 한글 깨짐)
    2. <meta> 태그 안에 charset="utf-8" 추가하거나 (<-- meta 태그 없음. layout.js에 비슷한 metadata 있긴 한데 여기에 추가해도 여전히 한글 깨짐)
    3. response.writeHead(200, {'Content-Type':'text/plain; charset=utf-8'}); 코드 추가하거나 <-- 2개 이상의 응답을 보냈다고 오류남)
    다 안 되네요
    
    nextjs docs에 "response", "form" 검색하여 살펴봤는데도 마땅한 해결책을 못찾았습니다
    
    도움 주시면 감사하겠습니다
    
    
    
    
    #88138

    codingapple
    키 마스터
    .writeHead 말고 .setHeader 찾아서 그거 써봅시다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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