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

home2 게시판 Node.js, Express 게시판 delete할때 e.target.dataset._id가 undefined로 나옵니다

delete할때 e.target.dataset._id가 undefined로 나옵니다

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

    choi2j
    참가자

    script코드입니다. list.ejs에 담겨있습니다.

     <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
    
     <script>
    $('.delete').click(function(e) {
    var dataId = e.target.dataset.id;
     $.ajax({
     method: 'DELETE',
     url: '/delete',
     data: {
     _id: dataId
    }
    }).done((result) => {
     console.log('성공했습니다!');
    $(this).parent('li').fadeOut();
    }).fail((xhr, textStatus, errorThrown) => {
     console.log(xhr, textStatus, errorThrown);
    });
    
    });
    </script>

     

    server.js의 해당 서버 코드입니다.

    app.delete('/delete', function(req, res) {
     req.body._id = parseInt(req.body._id);
     db.collection('counter').deleteOne(req.body, function(err, result) {
     console.log('삭제완료');
     console.log(req.body._id);
     res.status(200);
    });
     res.send('삭제완료');
    });

     

    서버에서도 console.log(req.body._id); 는 NaN으로 나오고 script에서도 콘솔에 e.target.dataset.id가 undefined로 나옵니다. stackoverflow랑 여기 게시판도 봤지만 해결방법을 모르겠습니다.

    그래서 그런지 서버에서도 삭제 요청은 받지만 실제로 삭제는 해주지 않고 계속 데이터가 살아있습니다.

    하지만 숫자를 직접 넣으면 또 되서 이게 뭐가 안되고 있는건지 잘 모르겠습니다.

    #35202

    choi2j
    참가자

    잘못된 부분 찾아서 해결했습니다.

    counter라고 잠깐 시도한 부분이랑 button에 data-id가 안들어가있었네요.

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