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

home2 게시판 Node.js, Express 게시판 로그인 기능 구현 중 오류 질문입니다.

로그인 기능 구현 중 오류 질문입니다.

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

    김창규
    참가자

    안녕하세요 제가 로그인 기능 구현 중 로그인 정보가 맞으면 쿠키를 발급하고 redirect를 이용하여 로그인 성공시 화면으로 이동 시키려고 합니다. 그런데 어째서 인지 몰라도 서버에서 오류가 떠버립니다. 코드와 오류는 아래와 같이 작성했습니다.

    login.js

    const router = require('express').Router();
    const schema = require('../config/schema/sign_upSchema.js');
    const path = require('path');

    router.get('/',function(req,res){
      res.render(path.join('../views/login.ejs'));
    });

    router.post('/send_info',function(req,res){
      schema.Sign_in(req.body,function(err,result){
        if( err ) return err;
        if( result === false ){
          return res.status(400).json({ message: '로그인 실패', status : 400 })
        }
        else{ 
          res.cookie( 'key', result, {
            httpOnly:true,
          } );
          res.redirect('/');
          return res.status(200).json({ message: '로그인 성공', status : 200 });
         }
      })
    });

    module.exports = router;

    오류 메세지

    node:_http_outgoing:574
    throw new ERR_HTTP_HEADERS_SENT('set');
    ^

    Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at new NodeError (node:internal/errors:363:5)
    at ServerResponse.setHeader (node:_http_outgoing:574:11)
    at ServerResponse.header (C:\Users\canky\OneDrive\바탕 화면\개인프로젝트\trial\node_modules\express\lib\response.js:771:10)
    at ServerResponse.send (C:\Users\canky\OneDrive\바탕 화면\개인프로젝트\trial\node_modules\express\lib\response.js:170:12)
    at ServerResponse.json (C:\Users\canky\OneDrive\바탕 화면\개인프로젝트\trial\node_modules\express\lib\response.js:267:15)
    at C:\Users\canky\OneDrive\바탕 화면\개인프로젝트\trial\router\login.js:20:30
    at PBKDF2Job.<anonymous> (C:\Users\canky\OneDrive\바탕 화면\개인프로젝트\trial\config\schema\sign_upSchema.js:75:13)
    at PBKDF2Job.job.ondone (node:internal/crypto/pbkdf2:58:14) {
    code: 'ERR_HTTP_HEADERS_SENT'
    }
    [nodemon] app crashed - waiting for file changes before starting...

    #12690

    codingapple
    키 마스터

    아마 else문 안에서 res.어쩌구를 2개나 쓴것이 문제되는 것 같습니다 하나만 쓰셔야합니다

    #12701

    김창규
    참가자

    그러면 쿠키를 발급하면서 경로 이동을 동시에 할 수 없는 건가요?

    #12702

    김창규
    참가자

    해결 돼었습니다.

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 호 / 개인정보관리자 : 박종흠