Merhabalar ben eğitimim için basit bir blog kodluyorum.
Ve bunu yaparken de NodeJS, MongoDB, Mongoose ve EJS kullanıyorum.
Blog yazısını veritabanından silmek için bir delete methodu yazdım fakat bir hata ile karşılaştım bir türlü çözemedim.
EJS Kodları:
<!DOCTYPE html>
<html>
<head>
<%-include('./inc/head.ejs')%>
</head>
<body>
<%-include('./inc/nav.ejs')%>
<section>
<a href="/admin/add">Yeni Yazı Ekle</a>
<h1>Yazılar</h1>
<ul>
<% blogs.forEach(blog => { %>
<li>
<p> <%=blog.title%> </p>
<a class="del" data-doc="<%=blog._id%>">Sil</a>
</li>
<% }) %>
</ul>
</section>
<script>
const del = document.querySelector('a.del')
del.addEventListener('click', (e) => {
const endpoint = `/admin/delete/${del.dataset.doc}`
fetch(endpoint, {
method: 'DELETE'
})
.then((response) => response.json())
.then((data) => window.location.href = data.link)
.catch((err) => {
console.log(err)
})
})
</script>
</body>
</html>
server.js de Delete Kodları
app.delete('/admin/delete/:id', (res,req) => {
const id = req.params.id
Blog.findByIdAndDelete(id)
.then((result) => {
res.json({link:'/admin'})
})
.catch((err) => {
console.log(err)
})
})
Hata olarak da;
TypeError: Cannot read property 'id' of undefined
çıkıyor.
Yardımlarınız için şimdiden teşekkürler...