Javascript 是否可以在jQuery中的点击功能中等待ajax完成,然后执行一些代码?
我想在ajax完成后显示模式,以下是我的代码:Javascript 是否可以在jQuery中的点击功能中等待ajax完成,然后执行一些代码?,javascript,jquery,ajax,modal-dialog,bootstrap-modal,Javascript,Jquery,Ajax,Modal Dialog,Bootstrap Modal,我想在ajax完成后显示模式,以下是我的代码: $('.mymodalbtn').on('click', function (e) { modalWindow = $(this).attr('data-target'); // alert(modalWindow); $(document).ajaxStop(function () { //0 === $.active $(modalWindow).modal('show');
$('.mymodalbtn').on('click', function (e) {
modalWindow = $(this).attr('data-target');
// alert(modalWindow);
$(document).ajaxStop(function () {
//0 === $.active
$(modalWindow).modal('show');
});
});
有可能吗?现在,在每次ajax完成后显示模态
谢谢。您可以使用
ajax
请求的.ajaxComplete()
方法,当ajax
请求完成时,该方法注册要调用的处理程序
阅读更多内容在ajax调用完成时使用complete事件
$('.mymodalbtn').on('click', function (e) {
modalWindow = $(this).attr('data-target');
$.ajax({
type: 'GET',
url: 'your_url',
success: function (responseData, textStatus) {
},
complete: function (textStatus) {
$(modalWindow).modal('show');
},
error: function (responseData)
{
}
});
});
尝试使用setTimeout
setTimeout(function(){
$('#mymodal').modal('show');
},4000);
我不确定您执行ajax调用的方式,但我已经能够使用post super global来实现这一点
$\u post(phpfile.php,
$\u post(phpfile.php,{variables to send},function)
您可以使用数据作为函数的参数,php会回显任何内容,包括错误消息是的,这是可能的。您可以在中使用或,谢谢您的启发最后我这样做了
全局变量:
window.modal = "";
点击功能:
$('.mymodalbtn').on('click', function (e) {
modalWindow = $(this).attr('data-target');
window.modal = modalWindow;
});
和ajax完成:
$(document).ajaxComplete(function (event, request, settings) {
if(window.modal != ""){
$(window.modal).modal('show');
window.modal = "";
}
});
希望一切正常:-)最初的OP要求在ajax完成时打开一个模式窗口。但如果你的页面中有多个ajax请求,那么每次ajax调用都会触发
$(document).ajaxComplete({})
。我知道,但只有一个if语句,所以延迟最小。