Zepto Ajax 事件

时间:2021-1-8 作者:admin

当global: true时。在Ajax请求生命周期内,以下这些事件将被触发。

  1. ajaxStart (global):如果没有其他Ajax请求当前活跃将会被触发。
  2. ajaxBeforeSend (data: xhr, options):再发送请求前,可以被取消。
  3. ajaxSend (data: xhr, options):像 ajaxBeforeSend,但不能取消。
  4. ajaxSuccess (data: xhr, options, data):当返回成功时。
  5. ajaxError (data: xhr, options, error):当有错误时。
  6. ajaxComplete (data: xhr, options):请求已经完成后,无论请求是成功或者失败。
  7. ajaxStop (global):如果这是最后一个活跃着的Ajax请求,将会被触发。

默认情况下,Ajax事件在document对象上触发。然而,如果请求的 context 是一个DOM节点,该事件会在此节点上触发然后再DOM中冒泡。唯一的例外是 ajaxStart & ajaxStop这两个全局事件。

$(document).on('ajaxBeforeSend', function(e, xhr, options){
  // This gets fired for every Ajax request performed on the page.
  // The xhr object and $.ajax() options are available for editing.
  // Return false to cancel this request.
})

$.ajax({
  type: 'GET',
  url: '/projects',
  // data to be added to query string:
  data: { name: 'Zepto.js' },
  // type of data we are expecting in return:
  dataType: 'json',
  timeout: 300,
  context: $('body'),
  success: function(data){
    // Supposing this JSON payload was received:
    //   {"project": {"id": 42, "html": "<div>..." }}
    // append the HTML to context object.
    this.append(data.project.html)
  },
  error: function(xhr, type){
    alert('Ajax error!')
  }
})

// post a JSON payload:
$.ajax({
  type: 'POST',
  url: '/projects',
  // post payload:
  data: JSON.stringify({ name: 'Zepto.js' }),
  contentType: 'application/json'
})
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。