댓글 수정의 개요

Untitled

Untitled

댓글 삭제 버튼 추가하기

<!-- Button trigger modal -->
<button type="button"
     class="btn btn-sm btn-outline-primary"
     data-bs-toggle="modal"
     data-bs-target="#comment-edit-modal"
     data-bs-id="{{id}}"
     data-bs-nickname="{{nickname}}"
     data-bs-body="{{body}}"
     data-bs-article-id="{{articleId}}">수정</button>
<!-- 댓글 삭제 버튼 -->
<button type="button"
     class="btn btn-sm btn-outline-danger comment-delete-btn"

자바스크립트로 댓글 수정하기

1. 클릭 이벤트 처리하기

// 삭제 버튼 이벤트 처리
// commentDeleteBtn.addEventListener("click", function() { // 주석 쳐리
// console.log("삭제 버른이 클릭됐습니다..!");
// });
commentDeleteBtns.forEach(btn => { //[삭제] 버튼 수만큼 반복
	btn.addEventListener(MclickMz () => { // 각 버튼의 이벤트 처리
		console.log('삭제 버튼이 클릭됐습니다..!");
	});
});
<!-- 댓글 삭제 버튼 -->
<button type="button"
			class="btn btn-sm btn-outline-danger comment-delete-btn"
			data-comment-id="{{id}}">삭제</button>
btn.addEventListener("click", (event) => { // 1번
		// 이벤트 발생 요소 선택
		const commentDeleteBtn = event.target; // 2번
		// 삭제 댓글 id 가져오기
		const commentId = commentDeleteBtn.getAttribute("data-comment-id"); // 3번
		console.log(`삭제 버튼 클릭: ${commentId}번 댓글`); //4번

2. 자바스크립트로 REST API 호출하고 응답 처리하기

// 삭제 REST API 호출
const url = `/api/comments/${commentId}`;
fetch(url, { // fetch() 함수 수정
		method: "DELETE"
}).then(response => { // 응답 처리 (실패or성공)
		// 댓글 삭제 실패 처리
		if (!response.ok) {
				alert("댓글 삭제 실패..!");
				return;
		}
		// 삭제 성공 시 댓글을 화면에서 지우고 메시지 창 띄우기
		const target = document.querySelector(`#comments-${commentId}`);
		target.remove();
		const msg = `${commentId}번 댓글을 삭제했습니다`;
		alert(msg);
		// 현재 페이지 새로고침
		window.location.reload();
});