Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点js中执行删除之前,如何让用户确认删除?_Javascript_Node.js_Mongodb_Forms_Ejs - Fatal编程技术网

Javascript 在节点js中执行删除之前,如何让用户确认删除?

Javascript 在节点js中执行删除之前,如何让用户确认删除?,javascript,node.js,mongodb,forms,ejs,Javascript,Node.js,Mongodb,Forms,Ejs,我有一个post请求,在提交时必须删除mongodb中的记录,但在mongodb中执行指令之前,我需要与用户确认。以下是我所拥有的不起作用的东西: // DeleteUser router.post("/deleteUser", (req, res) => { const { email } = req.body; function confirmDelete() { let result = confirm(

我有一个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
函数;它应该是一个浏览器对象!我如何使这个逻辑弹出一个对话框,要求用户确认删除;单击“确定/是”时继续,单击“取消”时终止。

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

您可以生成一个唯一的令牌,将其发送给客户端,并且仅当客户端提交第二个请求(其中包含该令牌)时,才可以实际删除该用户。但是您不能保证客户端在发送第二个请求之前向用户显示确认框,客户端可以立即提交第二个请求。然后,您就从开始的地方结束了:确认对话框是一个客户端特有的东西