Javascript jQuery:在成功/错误中使用延迟对象(ajaxSetup选项)

Javascript jQuery:在成功/错误中使用延迟对象(ajaxSetup选项),javascript,jquery,jquery-deferred,Javascript,Jquery,Jquery Deferred,我想为所有AJAX请求设置全局行为, 有时我需要打断队列 像这样 $.ajaxSetup({ success: function(data, textStatus, jqXHR) { if ( data.error ) { jqXHR.reject(); } } }); // later $.ajax({ some: option }).done( function(html) { do_something(html); } ); 我想在这里完成(不要用函数调用

我想为所有AJAX请求设置全局行为, 有时我需要打断队列 像这样

$.ajaxSetup({
    success: function(data, textStatus, jqXHR) {
        if ( data.error ) { jqXHR.reject(); }
    }
});
// later
$.ajax({ some: option }).done( function(html) { do_something(html); } );
我想在这里完成(不要用函数调用done(html)) 当存在data.error时

可能吗?
或者可能存在另一种方法?

您不能直接解析jqXHR

jqXHR实现Promise接口,该接口可用于获取状态或添加回调,但不能用于更改状态

参考文献

是否尝试了$.ajaxSetup(成功:defaultHandler})?但只有在原始选项中提供处理程序时,这才有效。比如:$.ajax({url:'someurl',success:someHandler})

有关更多想法,请参见以下内容:

我不确定我是否遵循了…:(您只需要使用
error:function(){}
而不是
done
。不是吗?谢谢,这有助于我理解如何操作,但这并不容易:(