ajax로 menu detail을 구현할 때 form태그의 일부만 ajax 코드에 담으면 id값을 처음 누른 디테일의 것으로만 가져간다. form 태그 전체를 ajax에 이식하면 그런 문제가 생기지 않음
html += `
<form action="/stores/${sessionStoreId}/menus/${menuId}" method="post" id="menuEditForm" data-menu-id="${menuId}"
data-store-id="${sessionStoreId}">
✔️ 메뉴/옵션 수정
ajax로 formData를 전송하면서 List를 그 안에 담을 경우 빈 배열이 전송되는 문제가 생긴다. 따로 배열을 선언하여 그 안에 값을 담아서 전송해야 한다.
let formData = new FormData(this);
let menuOptions = [];
for (let i = 0; i < formData.getAll("optionName").length; i++) {
let option = {
price: formData.getAll("optionPrice").at(i),
name: formData.getAll("optionName").at(i),
required: formData.getAll("optionRequired").at(i),
}
menuOptions.push(option);
✔️ 메뉴 상세보기
✔️ 메뉴/옵션 수정