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

home2 게시판 Node.js, Express 게시판 삭제 기능 문의

삭제 기능 문의

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

    정복영
    참가자
    node.js 강의 중 게시글 삭제 기능에 대해 문의합니다.
    list.ejs에서 [0], [1], [2].. 부분이 계속 반복됩니다. 
    ------------------------------------------------------------------------------------------------------------------------
          document.querySelectorAll(".delete")[0].addEventListener("click", function (e) {
            console.log(e.target);
            fetch("/delete?docId=" + e.target.dataset.id, { method: "DELETE" })
              .then((r) => r.text())
              .then((result) => {
                e.target.parentElement.parentElement.style.display = "none";
              });
          });
          document.querySelectorAll(".delete")[1].addEventListener("click", function (e) {
            console.log(e.target);
            fetch("/delete?docId=" + e.target.dataset.id, { method: "DELETE" })
              .then((r) => r.text())
              .then((result) => {
                e.target.parentElement.parentElement.style.display = "none";
              });
          });
          document.querySelectorAll(".delete")[2].addEventListener("click", function (e) {
            console.log(e.target);
            fetch("/delete?docId=" + e.target.dataset.id, { method: "DELETE" })
              .then((r) => r.text())
              .then((result) => {
                e.target.parentElement.parentElement.style.display = "none";
              });
          });
    --------------------------------------------------------------------------------------------------------
    강의에서 추가 언급이 없어 forEach()로 감싸보았습니다.
    
          document.querySelectorAll(".delete").forEach((deleteButton) => {
            deleteButton.addEventListener("click", function (e) {
              console.log(e.target);
              fetch("/delete?docId=" + e.target.dataset.id, { method: "DELETE" })
                .then((r) => r.text())
                .then((result) => {
                  e.target.parentElement.parentElement.style.display = "none";
                });
            });
          });
    -----------------------------------------------------------------------------------
    잘 작동됩니다.(게시글들이 잘 삭제됩니다.)
    하지만 후속 강의에서 문제가 발생했습니다.
    후속 강의인 "게시글을 쓴 유저만 자기 게시글 삭제하기"에서 유저가 쓴 글 이외에도 모든 글들이 display='none'이 됩니다. 
    무엇이 문제인지 모르겠습니다.ㅜ 
    
    
    #108827

    codingapple
    키 마스터
    현재 로그인한 내 _id 와 글에적힌 글쓴이 _id가 같으면 
    삭제버튼 보여달라고 ejs if문 같은거 쓰면 될듯요
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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