在哪个时间使用哪个。
在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/