我想为列表中的某些项目创建一个删除选项。我这样做的方式是给列表中的每个项目一个按钮或某种使用POST发送_id(来自mongodb)的链接。正如你可以在下面的代码(req.body.id)中看到的,我试图从请求中获取id。但是,该请求没有该id,因为我不知道如何在不使用表单和输入字段的情况下执行此操作。在jade和node.js中使用没有表单的POST?
我见过一些方法可以在PHP中使用javascript来实现。但有没有更多的玉器和node.js具体的方式?
router.post("/deleteitem", function(req,res) {
var db = req.db;
var collection = db.get("itemcollection");
id = req.body.id;
collection.remove({
"_id": id
}, function (err, removed) {
if (err) {
res.send("Error");
}
else {
res.redirect("editlist");
}
});
});
感谢您的帮助。
编辑:
客户端:
extends layout
block content
h1.
Items
ul
each item, i in editlist
li
p #{item.name} costs #{item.price}
button#btnSubmit(type="button",method="post",action="/deleteitem") Delete
a(href="/") Back to start
按键部分是不是很相关,但。首先,我不确定是否可以这样做。其次,我没有以任何方式包含这个id。我只是在试验。
我可能做到这一点的一种方法是将url包含在参数中。但是这似乎比使用POST和在请求中包含id更复杂一些。
你的客户端代码在哪里? –
@IsmailRBOUH添加了它。按钮部分虽然不是很相关,因为我不确定可以这样做。我只是在试验。 – Smebbs
您是否尝试过在查询参数中发送数据? – notionquest