使用 mongoldb、mongoose、jade 和 express 通过单击按钮删除条目
Deleting an entry through a button click using mongoldb, mongoose, jade and express
所以我无法弄清楚如何通过在我的视图中单击按钮来删除数据库中的条目。这个逻辑对我来说没有意义。我的观点是这样的:
如何让每个按钮连接到每个条目??我将在下面列出我的视图和路由代码,以便您浏览它。
翡翠
extends ../userLayout
block localStyles
link(rel='stylesheet', href='/stylesheets/usersPage/users.css')
block content
.container
.users.col-md-11.col-xs-12.table-responsive
h1 Current Users
form.form(method="post" action="/users/view")
table.col-xs-12
tr
th Name
th Username
th
each user in users
tr
td= user.name
td= user.username
td
button.btn.btn-danger.col-xs-12 X
用户路由
router.post('/view', function(req, res, next) {
//***potential delete code
userSchema.remove({ name: 'reg' }, function (err) {
if (err) return handleError(err);
// removed!
});
});
就像我说的,我的大问题只是获取删除特定条目的按钮背后的逻辑。任何帮助将不胜感激。
一种方法是在每个按钮中设置要删除的文档的 ID。
//jade
td
button.remove-doc.btn.btn-danger.col-xs-12(data-id="#{user.id)") X
并添加事件侦听器以发送 ajax 删除用户的请求:
<script>
$('buttons.remove.doc').on('click', function() {
var userId = $(this).attr('data-id');
$.ajax({
method: "POST",
url: "/users/delete",
data: {"userId": userId},
success: function(result) {
if(/* check if it is ok */) {
location.reload();
}
}
})
});
</script>
在 node 中你会有这样的东西:
app.post('/users/delete', function(req, res, next) {
var userId = req.body.userId || req.query.userId;
userSchema.remove({_id: userId}, function(err, res) {
if (err) { res.json({"err": err}); } else { res.json({success: true});
});
});
所以我无法弄清楚如何通过在我的视图中单击按钮来删除数据库中的条目。这个逻辑对我来说没有意义。我的观点是这样的:
如何让每个按钮连接到每个条目??我将在下面列出我的视图和路由代码,以便您浏览它。
翡翠
extends ../userLayout
block localStyles
link(rel='stylesheet', href='/stylesheets/usersPage/users.css')
block content
.container
.users.col-md-11.col-xs-12.table-responsive
h1 Current Users
form.form(method="post" action="/users/view")
table.col-xs-12
tr
th Name
th Username
th
each user in users
tr
td= user.name
td= user.username
td
button.btn.btn-danger.col-xs-12 X
用户路由
router.post('/view', function(req, res, next) {
//***potential delete code
userSchema.remove({ name: 'reg' }, function (err) {
if (err) return handleError(err);
// removed!
});
});
就像我说的,我的大问题只是获取删除特定条目的按钮背后的逻辑。任何帮助将不胜感激。
一种方法是在每个按钮中设置要删除的文档的 ID。
//jade
td
button.remove-doc.btn.btn-danger.col-xs-12(data-id="#{user.id)") X
并添加事件侦听器以发送 ajax 删除用户的请求:
<script>
$('buttons.remove.doc').on('click', function() {
var userId = $(this).attr('data-id');
$.ajax({
method: "POST",
url: "/users/delete",
data: {"userId": userId},
success: function(result) {
if(/* check if it is ok */) {
location.reload();
}
}
})
});
</script>
在 node 中你会有这样的东西:
app.post('/users/delete', function(req, res, next) {
var userId = req.body.userId || req.query.userId;
userSchema.remove({_id: userId}, function(err, res) {
if (err) { res.json({"err": err}); } else { res.json({success: true});
});
});