ajax로 게시판 삭제기능을 구현하던 중 반복문을 사용해보라는 선생님 말씀에 반복문으로 구현을 해보던 중 의문이 생겨 질문드립니다.
<script>
for(var i=0; i<'<%=글목록.length%>'; i++){
document.querySelectorAll('.delete')[i].addEventListener('click', function(){
fetch('/delete?docid=<%=글목록[i]._id%>', {
method : 'DELETE'
})
})
}
</script>
위와 같이 query string으로 넘길려고 하니 i is not defined 이라는 오류가 떠서 문자열 중간에 변수를 넣어서 그런거라고 생각했습니다.
그래서
<script>
for(var i=0; i<'<%=글목록.length%>'; i++){
document.querySelectorAll('.delete')[i].addEventListener('click', function(){
fetch('/delete?docid=<%=글목록['+i+']._id%>', {
method : 'DELETE'
})
})
}
</script>
이렇게 + 기호를 사용해서 문자열 중간에 변수를 넣어서 사용하려고 하
Cannot read properties of undefined (reading '_id') 이런 오류가 뜨면서 실행이 되지 않습니다.
dataset을 이용해서 query를 넘기니 문제없이 작동되어 반복문 자체를 잘못 짠 것 같지는 않다고 생각되는데 무슨 문제때문에 오류가 뜨는 건지 궁금합니다