如何让用户在nodejs中确认删除



我有一个post请求,提交时必须删除mongodb中的一条记录,但在mongodb执行指令之前,我需要与用户确认。以下是我所拥有的不起作用的东西:

// DeleteUser
router.post("/deleteUser", (req, res) => {
const { email } = req.body;
function confirmDelete() {
let result = confirm(
"Are you sure that you want to delete " + allUsers[i].name + "?"
);
if (result) {
// Delete Logic
User.findOneAndDelete({ email: email }, (err) => {
if (err) {
console.log(err);
}
console.log("One user deleted successfully!");
});
}
}
confirmDelete();
setTimeout(res.redirect("back"), 5000);
});

我得到一个错误:

ReferenceError: confirm is not defined

我认为confirm()不是node.js函数;它应该是一个浏览器对象!我如何使这个逻辑弹出一个对话框要求用户确认删除;当他们点击Ok/Yes时继续,当点击Cancel时终止?

检查/确认只是客户端的事情。您不能在后端执行此操作。如果请求到达,则删除该用户。客户端可以决定显示任意数量的警告、确认和警报框。

可以生成一个唯一的令牌,并将其发送给客户端,只有当客户端提交了包含该令牌的第二个请求时,才能真正删除用户。但是,您不能保证客户端在发送第二个请求之前确实向用户显示了一个确认框,客户端只能立即提交第二个申请。最终,您从开始的地方开始:确认对话框是客户端独有的东西。

最新更新