我在浏览器中点击按钮时无法删除数据库中的文档。我的视图如下所示:
extends layout
block content
h1 #{article.title}
h5 Written by #{article.author}
p #{article.body}
hr
a.btn.btn-default(href='/article/edit/'+article._id) Edit
a.btn.btn-danger.delete-article(href='#',data-id=article._id) Delete
我的js文件用ajax:
$(document).ready(function () {
$('.delete-article').on('click', function (e) {
$target = $(e.target);
const id = $target.attr('data-id');
$.ajax({
type: 'DELETE',
url: '/article/' + id,
success: function (response) {
alert('Deleting Article');
window.location.href = '/';
},
error: function (err) {
console.log(err);
}
});
});
});
我的node.js代码
app.delete('article/:id', function (req, res) {
let query = {
_id: req.params.id
};
Article.remove(query, function (err) {
if (err) {
console.log(err);
}
res.send('Success');
});
});
当我按下删除按钮返回我的时,我的浏览器中找不到错误404 DELETE http://127.0.0.1:3000/59636fbf6f6c7f1ff40bb1fb 404 (Not Found)
答案 0 :(得分:0)
在您的Node.js代码中,您没有为host/:id
定义路线,而是为/article/edit/:id
此外 - 在您的AJAX通话中,您正在拨打/article/' + id
如果要通过对/article/:id
执行DELETE的HTTP方法来删除文章,请确保将该路由添加到Node.js文件中。