初學ajax總結

來源:互聯網
上載者:User

  所謂AJAX就是(Asynchronous JavaScript and XML)非同步javascript和xml,首先說下我感覺沒有ajax的話我們所遇到的問題,比如在我們看某個視頻的時候,看下面的評價,當我們點擊下一頁的時候就是出現一個情況:我們的視頻會重新開始!所以ajax在某些方面是必須的!

  下面進入正題,我們通常會使用'一般處理頁'來處理ajax(*.ashx)在用戶端用javascript來處理需要傳入伺服器端或者從伺服器端傳過來的資料(這是我的理解)下面我自己寫的一個很不錯的ajax模型:在一般處理頁中的代碼:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;namespace WebApplication1{    /// <summary>    /// Handler 的摘要說明    /// </summary>    [WebService(Namespace="http://tempuri.org/")]//一個webservice的引用為了在下面使用datatime    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]//擷取web服務互通性(wsi)的規範    public class Handler : IHttpHandler    {               public void ProcessRequest(HttpContext context)        {            context.Response.ContentType = "text/plain";            context.Response.Write(DateTime.Now.ToString());            //把write()裡面的資料傳入用戶端        }        public bool IsReusable        {            get            {                return false;            }        }    }}

下面是用戶端的代碼:

<!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>    <script type="text/javascript">        function butclick() {            var httprequest = null;            // 初始化XMLHttpRequest對象            if (window.XMLHttpRequest) {                // Firefox等現代瀏覽器中的XMLHttpRequest對象建立                httprequest = new XMLHttpRequest();            }            else if (window.ActiveXObject) {                // IE中的XMLHttpRequest對象建立                httprequest = new ActiveXObject("Microsoft.XMLHTTP");            }            if (!httprequest) {                alert("建立httprequest對象出現異常!");            }            httprequest.open("POST", "Handler.ashx", true);            //httprequest向handler發送post請求,最後參數是設定是否為非同步請求,true為非同步,false為同步            httprequest.onreadystatechange = function () {                //指定onreadystatechange事件控制代碼對應的函數                if (httprequest.readyState == 4) {                    //4代表格服務器返回完成                    if (httprequest.status == 200) {                        //200代表成功了                        document.getElementById("text1").value = httprequest.responseText;                        //responsetext表示伺服器返回的文本,還有一種方式是responseXML是為了擷取伺服器返回的xml                    }                    else {                        alert("AJAX伺服器返回錯誤!");                    }                }            }            httprequest.send();            //在這裡才真正的向伺服器端發送請求        }    </script></head><body>    <input id="text1" type="text" />    <input id="Button1" type="button" value="button" onclick="butclick()" /></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.