我的 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/