• jquery中的全局事件


    ajaxStart(callback):Ajax请求开始时触发该事件

    ajaxSend(callback):Ajax请求发送前触发该事件

    ajaxSuccess(callback):Ajax请求成功时触发该事件

    ajaxComplete(callback):Ajax请求完成时触发该事件

    ajaxStop(callback):Ajax请求结束时触发该事件

    ajaxError(callback):Ajax请求出现错误时触发该事件

    可以对 jQuery 对象调用上述全局事件。

    例如,当用户点击页面上某一按钮请求数据时,在页面上显示 loading... ,页面加载完成后隐藏

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>AjaxStartAjaxStop</title>
    <script type="text/javascript" src="JS/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
        $("#loading").hide();
    
        $("#loading").ajaxStart(function(){
            $(this).show();
        });
    
        $("#loading").ajaxStop(function(){
            $(this).hide();
        });
    
        $("button[name='btnLoad']").click(function(){    
            $.get("http://www.sohu.com", null, function(data){
                $("#content").text(data);
            });
        });    
    });
    </script>
    <style type="text/css">
    body{ padding:20px; }
    textarea{ 350px; height:120px; }
    #loading{ background-color:#eee; border:solid 1px #999; margin:5px 0 10px; padding:5px; font-size:13px; }
    </style>
    </head>
    
    <body>
    
    <div id="loading">Loading.....</div>
    <textarea id="content"></textarea>
    <button name="btnLoad">Load</button>
    
    </body>
    </html>

     直接利用$.ajaxSetup(options)方法统一设定所有$.ajax()方法中的参数。代码如下:

    $.ajaxSetup({        //统一设置$.ajax()方法中的相同部分
    type: "GET",
     //data: "user="+escape($("#user").val())+"&comment="+escape($("#comment").val()),
     beforeSend:function(){$("#target").html("<img src='loading.gif' /><br>正在载入…");}, 
     error:function(){$("#target").html("<p>载入失败</p>");},
     success: function(data){     //第3个参数,回调函数,在请求完成后执行
        $("#target").html(data);
     }
    });

    也可以在ajax()里面直接使用;

    function Ajax(){  
        $.ajax({
            type: "GET",
            url: "9-15.php",
            data: "user="+escape($("#user").val())+"&comment="+escape($("#comment").val()),   //escape()方法会将参数中的字符串编码成Unicode格式的字符串
            beforeSend:function(){            //发送请求之前
                $("#target").html("<img src='loading.gif' /><br>正在载入…");}, 
            error:function(){$("#target").html("<p>载入失败</p>");},
            success: function(data){         //请求成功时
                $("#target").html(data);
            }
        });
    }

    9-15.php                                                                         

    header("Content-type: text/html; charset=gb2312"); 
    $user=unescape($_GET['user']);
    $comment=unescape($_GET['comment']);
    for($i=1;$i<10000000;$i++);        //用于延时,以看到正在载入的图标
    echo "<h3>评论人:".$user."</h3>";
    echo "<p>内容:".$comment."</p>"
  • 相关阅读:
    基于Flume做FTP文件实时同步的windows服务。
    Java代码解决ElasticSearch的Result window is too large问题
    springboot+zuul(二)------智能负载
    springboot+zuul(一)------实现自定义过滤器、动态路由、动态负载。
    Docker 快速安装&搭建 Ngnix 环境,并配置反向代理
    如何通过 Freemark 优雅地生成那些花里胡哨的复杂样式 Excel 文件?
    Elasticserach 同步索引报错:ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]
    如何通过Gitalk评论插件,5分钟为你的博客快速集成评论功能
    一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏
    Docker 快速安装&搭建 Mysql 环境
  • 原文地址:https://www.cnblogs.com/xs-yqz/p/5112484.html
Copyright © 2020-2023  润新知