jquery的ajax全局事件详解

   

jquery在ajax方面是非常强大和方便的,以下是jquery进行ajax请求时方法模板:

  1. $.ajax({
  2. type: "get",
  3. url: "",
  4. data : {},
  5. beforeSend : function(){
  6. },
  7. success : function(data){
  8. },
  9. complete : function(){
  10. }
  11. });

关于$.ajax()方法的使用,不是明河写这篇文章的目的,今天明河主要讲解当进行ajax请求时整个完整的事件流程。

jquery的ajax方法的全部全局事件:

  • ajaxStart:ajax请求开始前
  • ajaxSend:ajax请求时
  • ajaxSuccess:ajax获取数据后
  • ajaxComplete:ajax请求完成时
  • ajaxError:ajax请求发生错误后
  • ajaxStop:ajax请求停止后

当你使用jquery的ajax方法,不管是$.ajax()、$.get()、$.load()、$.getJSON()等都会默认触发全局事件,只是通常不绑定全局事件,但实际上这些全局事件非常有用处。

ajax方法的全局事件的用处

ajax全局事件,有个典型的应用场合:

你的页面存在多个甚至为数不少的ajax请求,但是这些ajax请求都有相同的消息机制。ajax请求开始前显示一个提示框,提示“正在读取数据“;ajax请求成功时提示框显示“数据获取成功”;ajax请求结束后隐藏提示框。

不使用全局事件的做法是:

给$.ajax()加上beforeSend、success、complete回调函数,在回调函数中加上处理提示框。

使用全局事件的做法是:

  1. $(document).ajaxStart(onStart)
  2. .ajaxComplete(onComplete)
  3. .ajaxSuccess(onSuccess);
  4. function onStart(event)
    {
  5. //.....
  6. }
  7. function onComplete(event,
    xhr, settings)
    {
  8. //.....
  9. }
  10. function onSuccess(event,
    xhr, settings)
    {
  11. //.....
  12. }

ajax方法完整事件流

为了更直观的说明,明河使用Axure画了二个流程图,画的不好还请见谅,O(∩_∩)

时间: 2024-10-12 08:31:20

jquery的ajax全局事件详解的相关文章

JQuery中$.ajax()方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

JQuery中$.ajax()方法参数详解 (转)

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

JQuery中$.ajax()方法参数详解与案例

通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性. 最简单的情况下,$.ajax()可以不带任何参数直接使用. 注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置. 默认情况下,Ajax请求使用GET方法.如果要使用POST方法,可以设定type参数值.这个

JQuery中$.ajax()方法参数详解(转载)

type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项设置为false.注意,同步请求将锁住浏览器,用户其他操作必须等 待请求完成才

JQuery中$.ajax()方法参数详解 及 async属性说明

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

【转载】JQuery中$.ajax()方法参数详解

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请

JQuery中$.ajax()方法参数详解 转载

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

jQuery 中$.ajax()方法参数详解

$.ajax({ url:'test.do', data:{id:123,name:'xiaoming'}, type:'post', dataType:'json', success:function(data){ alert(data);//弹窗 //TODO ........ }, error:function(data){ alert(data);//弹窗 //TODO ........ } }) url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址.type: 要

JQuery中$.ajax()方法参数详解 ASP.NET jquery ajax传递参数

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项