게시판 댓글의 수정 기능을 구현해 보았다.

자바 스크립트의 fetch를 사용하여 비동기로 작동된다.

 

[해결점1]  자바 스크립트에서 보내는 데이터를 컨트롤러에서 어떻게 전달받는가?

자바스크립트에서 fetch()의 body: 에 입력을 처리할 데이터를 담아서 보내고,

컨트롤러에서 @RequestParam 을 사용하여 데이터를 받아 사용한다.

 

[해결점2] 여러개의 댓글이 작성될 경우, 어떻게 해당 댓글을 찾아서 이벤트를 발생시킬 것인가?

참고문서: ko.javascript.info/event-delegation#tasks

이벤트의 위임에 대해서 학습해볼 필요가 있다.

Dom을 선택할 때 QuerySelectorAll을 사용하여, 0번째, 1번째 클릭했을 때를 판단하며 처리할 수 있겠지만,

e.target.closest(selector); 함수를 사용하면 e.target의 조상 selector 에 가장 근접한 것을 선택할 수 있고, 이를 이용하여 내가 원하는 버튼에 이벤트를 실행할 수 있게 된다.

아래의 자바스크립트 코드는 이를 이용하여 댓글이 2개 이상이라도 원하는 댓글Id 값을 찾아서 컨트롤러로 데이터를 보내어 댓글을 수정한다.

 

 

 

 

 

 

community/list

 

 

BoardController.java

 

datail.js

+ Recent posts