Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery是一种在一个地方处理所有ajax成功事件的方法_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript Jquery是一种在一个地方处理所有ajax成功事件的方法

Javascript Jquery是一种在一个地方处理所有ajax成功事件的方法,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个场景,需要在公共场所处理所有jquery成功事件。因为我希望在所有ajax成功事件之后调用一些委托。我知道我们可以使用$.ajaxComplete或$.ajaxsuccess来实现这一点。但问题是我所有的ajax调用都有自己的成功处理程序,因此最终$.ajaxSuccess将被覆盖 我知道我可以编写一个通用的方法,我可以将它放入所有ajax成功处理程序中。但我不想那样做,我想知道一个更干净的方法 jquery中是否已经有了相应的方法处理程序,或者最好的方法是什么?有: $.ajaxSto

我有一个场景,需要在公共场所处理所有jquery成功事件。因为我希望在所有ajax成功事件之后调用一些委托。我知道我们可以使用
$.ajaxComplete
$.ajaxsuccess
来实现这一点。但问题是我所有的ajax调用都有自己的成功处理程序,因此最终$.ajaxSuccess将被覆盖

我知道我可以编写一个通用的方法,我可以将它放入所有ajax成功处理程序中。但我不想那样做,我想知道一个更干净的方法

jquery中是否已经有了相应的方法处理程序,或者最好的方法是什么?

有:

$.ajaxStop(...)
解决您的问题?

是否:

$.ajaxStop(...)
$.when($.ajax("/page1.php"), $.ajax("/page2.php"))
  .then(mySuccessFunc, myFailureFunc);
修复您的问题?

该方法应该可以正常工作,如中所示,并且不会与现有的ajax成功处理程序冲突。在以下各项之后执行:

$.when($.ajax("/page1.php"), $.ajax("/page2.php"))
  .then(mySuccessFunc, myFailureFunc);
$('#msg').ajaxSuccess(function(result) {
    alert('ajax succeeded');    
});
该方法应该可以很好地工作,如中所示,并且不会与现有的ajax成功处理程序冲突。在以下各项之后执行:

$('#msg').ajaxSuccess(function(result) {
    alert('ajax succeeded');    
});
试着这样做-

 $.when(// your all ajax call)
   .then(//delegate handler after ajax succes)
试着这样做-

 $.when(// your all ajax call)
   .then(//delegate handler after ajax succes)

$.ajaxSuccess
不被本地成功处理程序覆盖,它是在本地成功处理程序之后执行的。

$.ajaxSuccess
不被本地成功处理程序覆盖,它是在本地成功处理程序之后执行的。

是的,这很奇怪,它对我不起作用,我想我试过$.ajaxSuccess,不像$('#msg')。ajaxSuccess..@Ramesh Vel,您的DOM中有
元素吗?没有。我只是像$.ajaxPrefilter()一样尝试了一下。。我还是不明白,需要$('#msg'),是的,很奇怪它对我不起作用,我想我试过$.ajaxSuccess不像$('#msg')。ajaxSuccess..@Ramesh-Vel,你的DOM中有
元素吗?没有。我只是像$.ajaxPrefilter()一样尝试了一下。。我还是不明白,$(“#msg”)需要什么,只是为了清楚起见,您已经拼写了
$.ajaxSuccess
$.ajaxSuccess
(缺少c)。在
Jquery>1.8
中,您可能要查找
$(document).ajaxSuccess(function(){alert('yeahboi!');})
为了清楚起见,您已经拼写了
$.ajaxSuccess
>
$.ajaxSuccess
(缺少c)。在
Jquery>1.8
中,您可能要查找
$(document).ajaxSuccess(function(){alert('yeahboi!');})