当前位置: 首页 > 面试题库 >

jquery :: ajaxStop()与jquery :: ajaxComplete()

孔永年
2023-03-14
问题内容

在哪个时间使用哪个。

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

对于ajaxStop(),它表示:

描述:注册所有Ajax请求完成后要调用的处理程序。这是一个Ajax事件。

对于ajaxComplete(),它说:

描述:注册一个在Ajax请求完成时要调用的处理程序。这是一个Ajax事件。

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

无论完成了什么Ajax请求,都将调用所有ajaxComplete处理程序。如果必须区分请求,则可以使用传递给处理程序的参数。每次执行ajaxComplete处理程序时,都会将事件对象,XMLHttpRequest对象和用于创建请求的设置对象传递给它。

有人可以解释每个用途是什么,以及每个用途的适当用法。在最近构建的应用程序中,我依靠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中,要获得与相同的结果,可以访问jQuery Object并获取该对象中的第一个元素(请记住JavaScript对象的行为类似于关联数组)。

  • 本文向大家介绍jQuery与jQuery UI有啥区别?相关面试题,主要包含被问及jQuery与jQuery UI有啥区别?时的应答技巧和注意事项,需要的朋友参考一下 (1)jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。 (2)jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为

  • 描述 (Description) 每当所有AJAX请求都结束时, ajaxStop( callback )方法附加一个要执行的函数。 这是一个Ajax事件。 语法 (Syntax) 以下是使用此方法的简单语法 - <i>$(document)</i>.ajaxStop( callback ) 参数 (Parameters) 以下是此方法使用的所有参数的说明 - callback - 要执行的函数

  • 问题内容: 这可能是一个简单的问题,我似乎找不到一个可靠的答案。 为什么会选择JSON2而不是jquery-json插件(http://code.google.com/p/jquery- json/ )?假定Web应用程序首先使用jQuery。 每个人都在写关于JSON2有多出色的经验,只能依靠本机实现。好吧,jquery- json也是如此。我欢迎链接到博客,文章和示例。但是,我正在寻找一个强有

  • 问题内容: 可以说我有一个空的div: 这是: 与: 问题答案: 每当您将HTML字符串传递给jQuery的任何方法时,都会发生以下情况: 创建了一个临时元素,我们称它为x。x 设置为您传递的HTML字符串。然后,jQuery将把每个产生的节点(即x )转移到新创建的文档片段中,然后将其缓存下一次。然后,它将片段的片段作为新的DOM集合返回。 请注意,它实际上要比这复杂得多,因为jQuery进行了

  • 问题内容: 我们有一个页面,其中包含大量的jQuery(约2000行),我们想减少b / c,这是维护的噩梦,在服务器上维护起来可能更容易。我们已经考虑过为此使用UpdatePanel。但是,我们不喜欢UpdatePanel将整个页面发送回服务器的事实。 问题答案: 不要移动到UpdatePanels。使用jQuery后,性能下降将是站不住脚的。尤其是在您听起来复杂的页面上。 如果您有2,000行