轉,jQuery入門[5]-AJAX

來源:互聯網
上載者:User
jQuery入門[5]-AJAX

jQuery入門[1]-建構函式
jQuery入門[2]-選取器
jQuery入門[3]-事件
jQuery入門[4]-鏈式代碼
jQuery入門[5]-AJAX
jQuery入門[6]-動畫
jQuery為AJAX提供了非常豐富的支援,參見Ajax
其中最基本當屬$ajax(),通過不同的參數,這個方法可以錄活支援各種AJAX應用情境。如:

$.ajax({

url: "test.html",

cache: false,

success: function(html){

$("#results").append(html);

}

});

完整參數列表參見:options

當然,常用的應該是這些:

  • load()--直接將AJAX請求結果作為jQuery對象內容
  • $.get()--用get方式請求
  • $.post()--用post方式提交
  • ajaxStart()/ajaxComplete()/ajaxError()……--全域的ajax事件響應

DEMO:
建一個GenericHandler作AJAX請求服務端:CubeHandler.ashx<%@ WebHandler Language="C#" Class="CubeHandler" %>

using System;
using System.Web;

public class CubeHandler : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        int number = 0;
        int.TryParse(context.Request.Params["number"], out number);
        context.Response.StatusCode = 200;
        context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        context.Response.Write(string.Format("{0} cubed is {1}",number,Math.Pow(number, 3)));
    }
 
    public bool IsReusable {
        get {
            return true;
        }
    }
}

因為用的是Request.Params,所以這個handler能同時支援get和post,<!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>ajax</title>
    <script src="../scripts/jquery-1.2.3.intellisense.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function(){
            //設定指標
            $('#divIndicator').ajaxStart(function(){$(this).show()})
                            .ajaxSuccess(function(){$(this).hide()})
                            .ajaxError(function(msg){$(this).hide();alert(msg);});
            //ajax get 請求
            $('#btnGetCubeInGet').click(function(){
                var number = $('#txtNumber').val();
                $.get('CubeHandler.ashx?number='+number,function(result){
                    alert(result);
                });
            });
            
            //ajax post 提交
            $('#btnGetCubeInPost').click(function(){
                var number = $('#txtNumber').val();
                $.get('CubeHandler.ashx',{'number':number},function(result){
                    alert(result);
                });
            });
        });
    </script>
    <style type="text/css">
        .indicator
        {
            color: #FF0000;
            position: absolute;
            top: 0px;
            right: 0px;
            display: none;
        }
    </style>
</head>
<body>
    <div id="divIndicator" class="indicator">
        <img src="indicator.gif" />loading</div>
    plz input a number:<input id="txtNumber" />
    <input type="button" id="btnGetCubeInGet" value="Get cube(get)" />
    <input type="button" id="btnGetCubeInPost" value="Get cube(post)" />
</body>
</html>

點擊按鈕後的效果:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.