zoukankan      html  css  js  c++  java
  • jquery的ajax全局事件详解

     

       

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

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

    关于$.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.    
    5.     function onStart(event) {
    6.         //.....
    7.     }
    8.     function onComplete(event, xhr, settings) {
    9.         //.....
    10.     }
    11.     function onSuccess(event, xhr, settings) {
    12.         //.....
    13.     }

    ajax方法完整事件流

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

  • 相关阅读:
    UILocalNotification实现本地的闹钟提醒的方法
    自定义UITableViewCell:Cell高度、分割线、间距等
    第三方苹果开发库之ASIHTTPRequest(翻译版)
    字符串NSString和数组NSArray操作
    MFMailComposeViewController发送邮件的实例
    IOS开发之手势—UIGestureRecognizer 共存
    ios 画图总结 [转]
    iOS-响应上下左右滑动手势
    MFMessageComposeViewController程序内发送短信息的实例
    FIELDSYMBOLS 学习—转载
  • 原文地址:https://www.cnblogs.com/huangshikun/p/7021887.html
Copyright © 2011-2022 走看看