Javascript ajaxSetup.success回调能否阻止调用ajax.complete回调?

Javascript ajaxSetup.success回调能否阻止调用ajax.complete回调?,javascript,jquery,ajax,callback,Javascript,Jquery,Ajax,Callback,在$.ajaxSetup.success中,我需要一段常规代码来检查某些内容,然后不应调用$.ajax.complete回调。这可能吗?最好在$.ajaxSetup.success回调中执行某些操作,而不是在每个$.ajax.complete回调中执行 event.stopImmediatePropagation可能有效,但我不知道如何从success访问event $.ajaxSetup({ success : function(jqXHR, textStatus, errorThro

$.ajaxSetup.success
中,我需要一段常规代码来检查某些内容,然后不应调用
$.ajax.complete
回调。这可能吗?最好在
$.ajaxSetup.success
回调中执行某些操作,而不是在每个
$.ajax.complete
回调中执行

event.stopImmediatePropagation
可能有效,但我不知道如何从
success
访问
event

$.ajaxSetup({
    success : function(jqXHR, textStatus, errorThrown) {
        alert('this will happen');
    }
});

$.ajax({
    url: '/echo/json/',
    type: 'POST',
    complete: function () {
        alert('this shouldn\'t happen');
    }
});

jsiddle:

No,
complete
将始终被激发。如果需要此行为,则需要更改逻辑流。如果我们导致成功处理程序中出现异常,则不会调用complete。i、 e throw“不应该调用完整的”。这更像是一个黑客。谢谢,在我的例子中,抛出异常是一个很好的解决方案。如果您愿意,您可以将其作为答案提交。