javascript - Javascript警报功能不等待
问题描述
我有一个注册页面,在提交表单后我发送一个 AJAX POST。完全没有问题,只是在success函数中,我有一个不等待用户输入,而是立即执行下一个函数的alert函数。
这是 SubmitHandler 函数:
submitHandler: function (form) {
$("#Sign_Button").attr("disabled", "disabled");
$.ajax({
type: "POST",
url: "ws/users/insert.php",
data: $("#form_sign").serialize(),
success: function (data) {
$("#Sign_Button").removeAttr("disabled");
console.log(data);
if (data.success == 1) {
alert("Success.");
window.location.href='./index.php';
}
}
});
}
注意:我尝试使用 window.location.href 和 window.location,但在这两种情况下它都做同样的事情:弹出警报但也重定向到 index.php 而无需等待,关闭弹出警报。
注意:请注意,Alert 和 Confirm 我的行为相同
解决方案
正如这个问题的答案,您可以使用 if 中的警报暂停代码。这也将只显示一个“确定”按钮(而不是确认的“是/否”)。重要的是放!在警报调用之前,因为警报函数将始终返回未定义
这是带有警报暂停代码的代码部分:
if (data.success == 1) {
if(!alert("Success."))
window.location.href='./index.php';
推荐阅读
- python - TypeError:“float”类型的对象在通过 Python 使用 Selenium 将值从 excel 发送到 Web 元素文本框时没有 len() 错误
- docker - docker swarm 中 django 项目的卷挂载代码,以便在 swarm 中的所有节点上创建容器
- python - 用减法折叠数组后找到最大结果
- forms - 自定义 odoo 12 仪表板
- spss - 如何阻止 SPSS 在从 .csv 导入时更改单元格十进制值
- verilog - 如何消除systemverilog中变量的竞争条件?
- matlab - 在 Matlab 中使用季节性 ARIMA 模型参数
- c++ - C++ 11,如何在#if 中使用 const
- java - JsonProperty 不更改字段名称
- css - Rotativa 无法识别 justify