jQuery中的Ajax全局事件

Author: 劉老師(Aaron Lau) 武漢長樂教育,武漢PHP培訓課程,版權所有,轉載請注明!

jQuery中的Ajax全局事件

所謂全局事件,及發送Ajax請求時,默認會觸發的事件!

方法名稱 說明
ajaxComplete(callback) Ajax請求完成時觸發
ajaxError(callback) Ajax請求出錯時觸發
ajaxSend(callback) Ajax請求發送前觸發
ajaxSuccess(callback) Ajax請求成功后后觸發

下面看案例

<!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>
<title></title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
* { margin:0; padding:0;}
body { font-size:12px;}
#loading{
    width:80px;
    height: 20px;
    background:#bbb;
    color:#000;
    display:none;
}
img{border:0;height:100px;width:100px;}
.comment { margin-top:10px; padding:10px; border:1px solid #ccc;background:#DDD;}
.comment h6 { font-weight:700; font-size:14px;}
.para { margin-top:5px; text-indent:2em;background:#DDD;}
</style>
 <!--   引入jQuery -->
<script src="../scripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
   $(function(){
    //demo1:
        $('#send1').click(function() {
            $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=car&tagmode=any&format=json&jsoncallback=?",
                      function(data){
                          $("#resText1").empty();
                          $.each(data.items, function( i,item ){
                                $("<img/> ").attr("src", item.media.m ).appendTo("#resText1");
                                if ( i == 3 ) { 
                                    return false;
                                }
                          });
                     }
            );
       });

   //demo2:
       $("#send2").click(function(){
            $.get("get1.php", {
                        username :  $("#username").val() ,
                        content :  $("#content").val()
                    }, function (data, textStatus){
                        $("#resText2").html(data); // 把返回的數據添加到頁面上
                    }
            );
       })

        //防止未處理為全局事件
        $.ajaxPrefilter(function( options ) {
            options.global = true;
        });
        //共用這2個全局的ajax事件
       $("#loading").ajaxStart(function(){
          $(this).show();
       });
       $("#loading").ajaxStop(function(){
          $(this).hide();
       });

   })
//]]>
</script>
</head>
<body>
<br/>
<div id="loading">加載中...</div>

<br/>
Demo1:
<br/>
<input type="button" id="send1" value="加載"/>
<div id="resText1" ></div>

<br/>
Demo2:
<br/>
<form id="form1" action="#">
<p>評論:</p>
 <p>姓名: <input type="text" name="username" id="username" /></p>
 <p>內容: <textarea name="content" id="content"  rows="2" cols="20"></textarea></p>
 <p><input type="button" id="send2" value="提交"/></p>
</form>
<div  class='comment'>已有評論:</div>
<div id="resText2" >
</div>

</body>
</html>

注意: 如果不想觸發全局事件,將$.ajaxglobal參數,設為false

上一篇課程 沒有更多了

學生登錄