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

home2 게시판 Node.js, Express 게시판 localhost:8080/edit/(db에 없는 id) error페이지 보여주는 방법

localhost:8080/edit/(db에 없는 id) error페이지 보여주는 방법

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

    이동하
    참가자

    app.get("/edit/:id", function (요청, 응답) {
      db.collection("post").findOne(
        { _id: parseInt(요청.params.id) },
        function (에러, 결과) {
          if (에러) {
            console.log(에러);
            응답.render("edit-error.ejs");
          }
          응답.render("edit.ejs", { post: 결과 });
        }
      );
    });

    위처럼 코드를 짜서 error 발견 시 edit-error.ejs페이지를 보여주고 싶었는데
    /edit/(없는숫자) 로 이동하니까 edit.ejs에서 value에 넣을 값이 없다면서 에러화면으로 넘어가지 않습니다.ㅠㅠ

    Cannot read property '제목' of null
     

    뭔가, 앞에 db에 id값이 있는지 없는지 확인하는 if문이 필요한가 싶은데  어떻게 짜면 될까요?ㅠㅠ

    #27720

    codingapple
    키 마스터

    결과라는 변수가 null 이면 edit.ejs 말고

    없는페이지.ejs를 보내달라고 if문을 추가합시다

    #27723

    이동하
    참가자

    단박에 이해가 됐습니다...!!!
    (끝까지 물고기 잡는 법을 알려주시는 철두철미함까지...갬동쓰나미
    이건 귀찮아서 흘리는 눙물이 아닙니돠...😭)

    app.get("/edit/:id", function (요청, 응답) {
      // 만약 없는 :id값으로 edit를 GET요청한다면?
      // 선생님께 질문해둔 상태임
      db.collection("post").findOne(
        { _id: parseInt(요청.params.id) },
        function (에러, 결과) {
          if (결과 == null) {
            console.log(에러);
            응답.render("edit-error.ejs");
          } else {
            응답.render("edit.ejs", { post: 결과 });
          }
        }
      );
    });
     

    위처럼 코드짜니 잘 작동이 됐습니다😭 만수무강하세요!

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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