完整的Ajax執行個體

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   color   os   使用   sp   

 

轉自http://www.cnblogs.com/oneword/archive/2011/06/04/2072558.html

用了很久的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)

完整的Ajax執行個體

聯繫我們

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