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

home2 게시판 Node.js, Express 게시판 ajax로 삭제기능 구현하기 질문입니다

ajax로 삭제기능 구현하기 질문입니다

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

    양진석
    참가자
    <script>
        document.querySelectorAll('.delete')[0].addEventListener('click', () => {
            fetch('/abc?id=<%=글목록[0]._id%>', {
                method: 'DELETE',
            });
        });
        document.querySelectorAll('.delete')[1].addEventListener('click', () => {
            fetch('/abc?id=<%=글목록[1]._id%>', {
                method: 'DELETE',
            });
        });
        document.querySelectorAll('.delete')[2].addEventListener('click', () => {
            fetch('/abc?id=<%=글목록[2]._id%>', {
                method: 'DELETE',
            });
        });
    </script>
    위와 같은코드를 for를 사용해서 수정했더니 "i is not defined"라는 오류가 발생했습니다.
    <script>
                for (let i = 0; i < '<%=글목록.length%>'; i++) {
                    document.querySelectorAll('.delete')[i].addEventListener('click', () => {
                        fetch('/abc?id=<%=글목록[i]._id%>', {
                            method: 'DELETE',
                        });
                    });
                }
            </script>
    검색해봤더니 script 태그 안에서 생성한 let i는 ejs 템플릿의 글목록 배열에 접근할 수 없다고 합니다. 영상에서는 for로 축약할 수 있다고 하셨는데.. 그 힌트를 얻고 싶습니다.
    #108028

    codingapple
    키 마스터
    아마 script 태그 안에서 자바스크립트 반복문말고 ejs 반복문으로 코드복붙하면 i 쓸 수 있을듯요
    #108077

    양진석
    참가자
    <script>
        let length = '<%=글목록.length%>';
        '<% for (let i = 0; i < length; i++) { %>'
            document.querySelectorAll('.delete')[i].addEventListener('click', () => {
                fetch('/abc?id=<%=글목록[i]._id%>', {
                    method: 'DELETE',
                });
            });
        '<% } %>'
    </script>
    
    이렇게 수정해봤는데도 똑같은 오류가 발생합니다..
    #108121

    codingapple
    키 마스터
    그냥 강의처럼 삭제버튼마다 data-id=""로 _id 숨겨놓고 클릭할 때 가져오면 반복문필요없습니다
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 호 / 개인정보관리자 : 박종흠