Ajax的簡單使用

來源:互聯網
上載者:User

標籤:style   blog   http   java   color   使用   

1.簡介

AJAX = Asynchronous JavaScript And XML(非同步 JavaScript 及 XML)


AJAX 是 Asynchronous JavaScript And XML 的首字母縮寫。


AJAX 並不是一種新的程式設計語言,而僅僅是一種新的技術,它可以建立更好、更快且互動性更強的 web 應用程式。


AJAX 使用 JavaScript 在 網頁瀏覽器與 網頁伺服器之間來發送和接收資料。


通過在幕後與 網頁伺服器交換資料,而不是每當使用者作出改變時重載整個 web 頁面,AJAX 技術可以使網頁更迅速地響應。

 

 

2.使用方法

接下來做一個用Ajax實現頁面單機按鈕顯示使用者是否存在的執行個體.

 

2.1 建立 XMLHttpRequest 對象

XMLHttpRequest對象是Ajax技術的關鍵,其作用是用於在後台與伺服器交換資料.該對象的建立方式如下:

1 function ajaxFunction(){2     var xmlReq;3     try{4         xmlReq = new XMLHttpRequest();5     }catch(e){6         xmlReq = new new ActiveXObject("MSXML2.XMLHTTP.3.0");7     }8     return xmlReq;9 }

 

 

2.2 與伺服器交換資料

通過XMLHttpRequest對象和伺服器交換資訊的過程分為5步:
1.擷取XMLHttpRequest對象.
2.onreadystatechange 事件:時刻返回相應狀態.
3.開啟與伺服器串連.
4.發送資訊給伺服器.
5.得到伺服器的資訊.
具體步驟可查看W3School教程:http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_send.asp

 1 window.onload = function(){ 2         document.getElementById("ajax").onclick = function(){ 3             var xmlReq = ajaxFunction(); 4             //onreadystatechange 事件,當返回狀態為4時表示成功 5             xmlReq.onreadystatechange = function(){ 6                 if(xmlReq.readyState == 4){ 7                     if(xmlReq.status == 200 || xmlReq.status == 304){ 8                         //得到伺服器發送的資料 9                         var info = xmlReq.responseText;10                         //頁面顯示11                         document.getElementById("usernameView").innerHTML = info;12                     }13                 }14             };15             //開啟與一個Servlet的互動16             xmlReq.open("post", "../servlet/AjaxServlet?timeStamp="+new Date().getTime(),true);17             //佈建要求頭,這樣xmlReq.send()方法發送的資料,伺服器才能接受到18             xmlReq.setRequestHeader("content-type", "application/x-www-form-urlencoded");19             20             var username = document.getElementById("username").value;21             //項伺服器發送資料22             xmlReq.send("username="+username);23             24         };25 };

 

2.3 Servlet處理請求

Servlet用於對傳過來的資料進行處理,一般都是查詢資料庫進行比對,這裡只是個Demo,所以沒用資料庫.

 1 package cn.itcast.web.servlet; 2  3 import java.io.IOException; 4  5 import javax.servlet.ServletException; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 public class AjaxServlet extends HttpServlet {11 12     public void doGet(HttpServletRequest request, HttpServletResponse response)13             throws ServletException, IOException {14         request.setCharacterEncoding("utf-8");15         response.setCharacterEncoding("utf-8");16         response.setContentType("text/html;charset=utf-8");17         //得到請求值18         String username = request.getParameter("username");19         if("sa".equals(username)){20             response.getWriter().println("使用者名稱已經存在");21         }else{22             response.getWriter().println("使用者名稱可用");23         }24         25     }26 27     public void doPost(HttpServletRequest request, HttpServletResponse response)28             throws ServletException, IOException {29         doGet(request, response);30     }31  }

 

3.Ajax優缺點

1.使用Ajax的最大優點,就是能在不更新整個頁面的前提下維護資料。這使得Web應用程式更為迅捷地回應使用者動作,並避免了在網路上發送那些沒有改變的資訊。
2.Ajax不需要任何瀏覽器外掛程式,但需要使用者允許JavaScript在瀏覽器上執行.
3.對應用Ajax最主要的批評就是,它可能破壞瀏覽器的後退功能.


詳細資料可查看維基百科:http://zh.wikipedia.org/zh/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.