Javascript 带引导的ajax请求模式排序

Javascript 带引导的ajax请求模式排序,javascript,jquery,ajax,twitter-bootstrap,twitter-bootstrap-3,Javascript,Jquery,Ajax,Twitter Bootstrap,Twitter Bootstrap 3,我想在我的应用程序中全局使用模式窗口,所以设置jquery的ajax complete和ajax start配置。我遇到一个问题,从ajax成功回调中调用的模式窗口与我的ajax通知模式冲突,因为它们没有按照我想要的顺序执行 在这个演示中,我希望它先警告1,然后警告2,然后警告3,但它首先执行成功处理程序 在执行任何回调函数之前,如何启动ajaxComplete函数并删除我的通知模式,这些回调函数本身可能会创建模式窗口?它们没有按您想要的顺序执行的原因是在jQuery文档中(,) AjaxSt

我想在我的应用程序中全局使用模式窗口,所以设置jquery的ajax complete和ajax start配置。我遇到一个问题,从ajax成功回调中调用的模式窗口与我的ajax通知模式冲突,因为它们没有按照我想要的顺序执行

在这个演示中,我希望它先警告1,然后警告2,然后警告3,但它首先执行成功处理程序


在执行任何回调函数之前,如何启动ajaxComplete函数并删除我的通知模式,这些回调函数本身可能会创建模式窗口?

它们没有按您想要的顺序执行的原因是在jQuery文档中(,)

AjaxStart事件在ajax请求实现之前触发

AjaxComplete事件在ajax实现完成后触发

$(document).ajaxStart(function(){
    alert("AjaxStart");
});

$(document).ajaxComplete(function(){
    alert("AjaxComplete");
});

$.get('./',function(d, e){
    alert("Get A Start")
}).done(function(){
    alert("Get A Done");
});

$.get('./',function(d, e){
    alert("Get B Start")
}).done(function(){
    alert("Get B Done");
});
因此,如果您运行这个fiddle(),您将看到正确的执行顺序

如果您使用的是Bootstrap3模式,请尝试检查事件部分

$('#modal-id').on('hidden.bs.modal', function () {
    //show another modal
})
尽管如此,显示这么多模态窗口似乎不是一个好方法


如果您只是为了通知而使用模态,请尝试使用toastr:

模态不会立即消失,您可能还需要收听隐藏事件谢谢您的建议。Toastr很好,但在我们的例子中,我们需要模态窗口,在ajax调用完成之前阻止ui。
$('#modal-id').on('hidden.bs.modal', function () {
    //show another modal
})