jquery 手册
Ajax
属性(Attributes)
回调对象(Callbacks ..
核心(Core)
CSS
数据(Data)
延迟对象(Deferred o ..
尺寸(Dimensions)
效果(Effects)
事件(Events)
表单(Forms)
文档操作(Manipulati ..
杂项(Miscellaneou ..
位置(Offset)
插件编写(Plugin Aut ..
属性(Properties)
选择器(Selectors)
遍历(Traversing)
工具(Utilities)

Returns: jQueryjQuery .ajaxSuccess( Function handler(event, XMLHttpRequest, ajaxOptions) )

描述:注册一个每次Ajax请求成功结束时执行的函数。 这是一个 Ajax Event.
  • version added: 1.0
  • .ajaxSuccess( Function handler(event, XMLHttpRequest, ajaxOptions) )
  • handler(event, XMLHttpRequest, ajaxOptions) 注册的被调用函数。

每当一个Ajax请求成功结束时,jQuery触发ajaxSuccess事件。所有的被.ajaxSuccess()方法注册的处理程序都将会执行。

为了观察这个方法的行为,我们建立一个基本的Ajax加载请求:

<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

我们可以给任何一个元素附上事件处理程序:

$('.log').ajaxSuccess(function() {
  $(this).text('Triggered ajaxSuccess handler.');
});

现在我们使用任何一个jQuery方法发送一个Ajax请求:

$('.trigger').click(function() {
  $('.result').load('ajax/test.html');
});

当用户点击按钮并且Ajax请求成功结束时,log元素的信息将被展示在页面上。

Note: 因为 .ajaxSuccess()作为一个jQuery对象实例的方法实施,我们可以在回调函数中使用this关键字来替代选择器元素。如下面的例子:

All无论什么样的Ajax请求结束时所有的ajaxSuccess处理程序将被调用。如果我们必须区别不同的请求,我们可以传递不同的参数给处理程序来解决。 每次 ajaxSuccess处理程序被执行时,它传递一个XMLHttpRequest事件对象。 例如,我们可以限制回调只处理一个拥有特殊URL的事件:

Note: 你可以通过xhr.responseXMLxhr.responseHTML分别获取ajax返回的xml和html内容。

$('.log').ajaxSuccess(function(e, xhr, settings) {
  if (settings.url == 'ajax/test.html') {
    $(this).text('Triggered ajaxSuccess handler. The ajax response was:' 
                     + xhr.responseHTML );
  }
});

Examples:

例子:

当Ajax请求成功结束时显示一条信息。
$("#msg").ajaxSuccess(function(evt, request, settings){
      $(this).append("<li>Successful Request!</li>");
      });