HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/public/style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" />
<title>MyMemo</title>
</head>
<body>
<%- include('menu.html') %>
<div class="wrapper">
<p class="container-title">홈</p>
<div class="container">
<% for (var i = 0; i < memo.length; i++) { %>
<span>
<div class="memo">
<div class="memo-sets">
<button class="delete" data-id="<%= memo[i]._id %>"><i class="fa fa-trash"></i></button>
" class="memo-edit"><i class="fa fa-edit"></i>
</div>
<p class="memo-title"><%= memo[i].title %></p>
<p class="memo-date"><%= memo[i].date%></p>
<p class="memo-content"><%= memo[i].content %></p>
</div>
</span>
<% } %>
<% if (memo.length == 0) {%>
<p class="notice">메모를 작성해주세요!</p>
<% } %>
</div>
</div>
</body>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
$('.delete').click((e) => {
$.ajax({
method: 'DELETE',
url: '/delete',
data: { _id : e.target.dataset.id }
}).done((result) => {
console.log("asdf");
})
})
</script>
</html>
JS
app.delete('/delete', (req,res) => {
req.body = parseInt(req.body)
db.collection('memo').deleteOne(req.body, (err, result) => {
console.log(req.body)
console.log('delete done.')
})
res.redirect('/')
})
위에 HTML 에서 e.target.dataset.id 를 받아서 delete 를 할 때, req.body에 들어간 _id 를 console.log 로 찍으면
NaN 으로 나오지만 에러는 안나고 delete가 안됩니다.
delete done. 까지 출력 되지만 req 자체를 뜯어봐도 모르겠어서 질문 올립니다.