完整的Ajax執行個體

來源:互聯網
上載者:User

寫在前面的話:

用了很久的Asp.Net Ajax,也看了段時間的jquery中ajax的應用,但到頭來,居然想不起xmlHttpRequest的該如何使用了.

以前記的也不怎麼清楚,這次就重新完整的學習一遍吧,也為了自己以後能找個完整的地方來複習.

什麼是Ajax

Ajax的全稱是Asynchronous Javascript And XML.AJax由HTML,Javascript,DHTML和DOM組成.

HTML用於建立Web表單

Javascript代碼用於運行Ajax應用程式的核心代碼,用於和伺服器引用程式進行通訊

DHTML用於動態更新表單

DOM用於處理HTML結構和伺服器返回的XML

時至今日,Js中可以處理的資料包括了字串,JSON,XML資料.

優點

通過XMLHttpRequest對象來和伺服器進行通訊;在與伺服器進行非同步資料轉送時,傳輸的資料更少;更好的使用者體驗. 

執行個體

get.htm頁面HTML代碼如下:

<body>    <label for="txt_username">        姓名:</label>    <input type="text" id="txt_username" />    <br />    <label for="txt_age">        年齡:</label>    <input type="text" id="txt_age" />    <br />    <input type="button" value="GET" id="btn" onclick="btn_click();" />    <div id="result">    </div></body>

js代碼如下:

<script type="text/javascript">    function btn_click() {        //建立XMLHttpRequest對象        var xmlHttp = new XMLHttpRequest();        //擷取值        var username = document.getElementById("txt_username").value;        var age = document.getElementById("txt_age").value;        //配置XMLHttpRequest對象        xmlHttp.open("get", "Get.aspx?username=" + username            + "&age=" + age);        //設定回呼函數        xmlHttp.onreadystatechange = function () {            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {                document.getElementById("result").innerHTML = xmlHttp.responseText;            }        }        //發送請求        xmlHttp.send(null);    }</script>

建立Get.aspx頁,Get.aspx.cs代碼如下:

protected void Page_Load(object sender, EventArgs e){    Response.Clear();    string username = Request.QueryString["username"];    string age = Request.QueryString["age"];    Response.Write("姓名:'" + username + "'<br/>年齡:" + age + "<br/>時間:'" + DateTime.Now.ToString() + "'");    Response.End();}

結果:

輸入姓名和年齡,點擊Get按鈕,就會從伺服器擷取到資料.

小結:

今天暫時寫一個完整的例子來顯示Ajax的調用過程,此例中存在許多問題:

  1. 如何建立在大部分瀏覽器中都能啟動並執行XMLHttpRequest對象.
  2. 使用get請求時存在緩衝問題
  3. 中文亂碼問題

針對這些已經出現的問題,我們在隨後的例子中會一一解決.

對於其他的疑問,比方說:

  1. 如何使用post傳遞資料
  2. post和get有什麼區別
  3. 如何使用傳輸和使用json資料
  4. 如何傳輸和使用xml資料(畢竟,Ajax最後的一個字母x指的是XML)

對於這些疑問,我們在隨後的文章裡也會一一解決的.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.