首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在节点js中如何让用户在确认删除前确认删除?

在节点js中如何让用户在确认删除前确认删除?
EN

Stack Overflow用户
提问于 2021-05-10 03:19:55
回答 1查看 98关注 0票数 0

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

代码语言:javascript
运行
复制
// 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);
});

我收到一个错误:

代码语言:javascript
运行
复制
ReferenceError: confirm is not defined

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

EN

回答 1

Stack Overflow用户

发布于 2021-05-10 03:23:21

该检查/确认是仅限客户端的事情。你不能在你的后端这样做。如果请求到达,则删除该用户。客户端可以决定显示任意数量的警告、确认框和警告框。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67461538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档