php - 模式未在 ajax 响应中关闭
问题描述
我正在为我的项目使用 mdbootstrap。我有一个复选框,我调用 ajax 来执行一些任务并从 php 获得响应,1 表示成功,0 表示失败。所以我在ajax调用之前显示模态以显示处理。模态显示但没有关闭 ajax 响应。
这是我的模态代码
<div class="modal fade" id="process" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-
keyboard="false">
<div class="modal-dialog modal-dialog-centered" role="document">
<!--Content-->
<div class="modal-content">
<!--Body-->
<div class="modal-body text-center mb-1">
<p>Please Wait</p>
</div>
</div>
<!--/.Content-->
</div>
</div>
<script>
status_val = 1;
ac_no = 2;
$('#process').modal();
$.ajax({
url:"reopen_account.php",
type:"POST",
data:{'reopen':'reopen','status_val':status_val,'ac_no':ac_no},
success:function(output)
{
if (output==1)
{
$('#process').modal('hide');
}
else{
$('#process').modal('hide')
alert('Error occured');
}
}
}
});
</script>
我用过 .modal('hide'); 它不适合我。我哪里出错了。
解决方案
modal
当您在打开模态后立即尝试关闭时会出现此问题,这是因为模态未完全打开且模态状态仍为close
.
所以,为了避免类似的事情再次发生,你可以设置 timeout 以确保你的 modal 已经完全打开!
$('#process').modal();
$(document).ready(function () {
$.ajax({
url: "reopen_account.php",
type: "POST",
data: {'reopen': 'reopen', 'status_val': status_val, 'ac_no': ac_no},
success: function (output) {
if (output != 1)
alert('Error occured');
setTimeout(function () {
$('#process').modal('hide');
}, 1000);
},
});
});
推荐阅读
- python - 如何在 HTML 标记中选择信息以在烧瓶表单中使用
- node.js - Postman 的表单数据请求
- python - 芹菜异步获取超时永远不会超时
- reactjs - 如何在点击一个国家/地区时在 highcharts 地图中创建工具提示...?
- python - 使用python测量音频流的响度不起作用
- c - 如何初始化哈希表以存储在 C 中的文件中
- arrays - 按多个值排序一个多维数组,对一个值进行手动排序
- python - 网页抓取数据可视化
- php - 在 php Slim 框架中不使用 try/except 的自定义错误处理
- javascript - 套接字没有响应 FLASK