我有一个场景,我需要在常见的地方处理所有jquery成功事件。因为我希望在所有ajax成功事件之后调用一些委托。我知道我们可以使用$.ajaxComplete
或$.ajaxSucess
。但问题是我所有的ajax调用都有自己的成功处理程序,所以最终$ .ajaxSucess会被覆盖。
我知道我可以写一个常用的方法,我可以把它放在所有ajax成功处理程序中。但我不想这样做,我想知道一种更清洁的方式。
在jquery中是否有一个方法处理程序,或者最好的方法是什么?
答案 0 :(得分:1)
$.when($.ajax("/page1.php"), $.ajax("/page2.php"))
.then(mySuccessFunc, myFailureFunc);
答案 1 :(得分:1)
$.ajaxSuccess
方法应该可以正常工作,如this live demo所示,它与现有的ajax成功处理程序不冲突。它在每个之后执行:
$('#msg').ajaxSuccess(function(result) {
alert('ajax succeeded');
});
答案 2 :(得分:1)
以这种方式尝试 -
$.when(// your all ajax call)
.then(//delegate handler after ajax succes)
答案 3 :(得分:1)
$.ajaxSuccess
不会被本地成功处理程序覆盖,它会在本地成功处理程序之后执行。
答案 4 :(得分:0)
是否:
$.ajaxStop(...)
解决了您的问题?