【发布时间】:2016-12-05 21:21:42
【问题描述】:
我正在尝试为列表中的某些项目创建删除选项。我这样做的方法是给列表中的每个项目一个按钮或某种链接,它将使用 POST 发送 _id(来自 mongodb)。正如您在下面的代码 (req.body.id) 中看到的,我正在尝试从请求中获取 id。但是,请求没有 id,因为我不知道如何在不使用表单和输入字段的情况下执行此操作。
我已经看到了一些在 PHP 中使用 javascript 的方法。但是有没有更具体的jade和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。我只是在做实验。
我可能会这样做的一种方法是将 id 作为参数包含在 url 中。但这似乎比仅使用 POST 并在请求中包含 id 更令人费解。
【问题讨论】:
-
你的客户端代码在哪里?
-
@IsmailRBOUH 添加了它。按钮部分不是很相关,因为我不确定是否可以这样做。我只是在做实验。
-
您是否尝试发送查询参数中的数据?
-
啊,@notionquest。我刚刚编辑了主要帖子,说这是一种可能性。不管怎么说,多谢拉。但我真的希望能够仅使用 POST 并在请求正文中包含 id 来完成。如果有可能,如果没有,我可能不得不接受你的方式。
-
我真的不明白你的问题!您要发出 ajax 请求吗?