在哪个时间使用哪个。

http://api.jquery.com/的文档中:

对于ajaxStop(),它表示:



对于ajaxComplete(),它说:



从我可以看到,由于以下原因,ajaxComplete()更加灵活:



有人可以解释每个用途是什么,以及每个用途的适当用法。在最近构建的应用程序中,我依靠ajaxStop()在我的ajax调用完成时触发。然后,我将解析返回的数据以获取服务器端操作的结果。现在,我开始怀疑是否应该针对各种情况使用ajaxComplete()或两者结合使用。

思想得到赞赏。

最佳答案

好吧,简短的版本是它们具有不同的用途,因此答案将是“针对各种情况两者结合”选项。基本规则是:

  • .ajaxComplete() -为完成的每个请求运行,当您要对每个请求/结果执行某些操作时,请使用它。请注意,这不会代替success处理程序,因为解析的数据不是参数之一(即使发生错误它也会运行)-您可能希望在某些按请求的情况下使用 .ajaxSuccess()
  • .ajaxStop() -在每完成一批请求完成时运行,通常您将其与 .ajaxStart() 结合使用,以显示/隐藏某种“正在加载...”指示符-或在一批AJAX请求完成,就像最后一步一样。

  • 如果您使用它来解析数据,则可能有更好的方法,在这种情况下为 $.ajaxSetup() ,您可以在其中指定一个success处理程序以获取已解析的数据(例如JSON响应将是对象),如下所示:
    $.ajaxSetup({
      success: function(data) {
        //do something with data, for JSON it's already an object, etc.
      }
    });
    

    关于jquery - jquery::ajaxStop()与jquery::ajaxComplete(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4419241/

    10-12 15:09