javascript - 如何在 res.redirect() 之前等待

标签 javascript html node.js sweetalert

我的 HTML 文件中有一个按钮,当它被点击并提交表单时,它会调用一个发布路由。按钮单击还调用了我的另一个 javascript 文件中的一个函数,该函数激活了一个“sweetalert”警报框。

但是,我现在遇到的问题是,在发布请求执行之前,用户没有足够的时间阅读警报 res.redirect("/")。 .

我希望有以下任何一种解决方案:

1)在页面被重定向后调用警报(我在某处读到你无法使用 node.js 控制下一页,所以这可能是不可能的)。

2) 在 res.redirect("/") 之前等待几秒钟叫做。

3) 任何其他适当的解决方案。

包含按钮的 HTML 文件:

<button formaction="/removetask" type="submit" id="top" class="btn btn-primary btn-block" onclick="success()"> Complete </button>

客户端javascript文件:
function success(){
  ...
  swal("Congratulations!", "Goal successfully completed", "success")

}

node.js 文件:
app.post("/removetask", async function(req, res) {
  ...
  res.redirect("/");  
});

链接到 HTML 中的“sweetalert”:
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>

编辑:

我注意到使用常规 HTML alert()停止一切并阻止重定向,直到用户关闭警报。是否可以将“sweetalert”警报更改为这样?

最佳答案

我稍微改变了你的代码。
现在通过单击表单不提交。

开玩笑,点击成功按钮后,表单将被提交。

HTML:

<button type="button" id="top" class="btn btn-primary btn-block" onclick="success()"> Complete </button>

JS:
function success(){
  swal({
  title: "Congratulations!",
  text: "Goal successfully completed",
  type: "success",
  }).then(function(){ 
      document.getElementById('form').submit();
  });
}

https://code.sololearn.com/WGoSH0qXkP9I/#html

关于javascript - 如何在 res.redirect() 之前等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61027492/

相关文章:

javascript - 仅在 Firefox 中添加/删除选项失败

node.js - Sentry 不会向所需邮件抛出错误

node.js - Promise 问题 : using Q. nfcall() 调用 mongoose.findOne()

javascript - 操纵窗口的 Photoshop 脚本(缩放、滚动等)

javascript - SQL:如果存在,则更新,否则插入

javascript - 用javascript弹出

node.js - 将 MERN 应用程序部署到 Azure 中,一直使用 "localhost"在本地运行

javascript - Backbone.js — 匿名 View 实例中的集合在获取时多次请求

html - 无法弄清楚如何摆脱白色背景

html - 调整窗口大小时阻止网页移动