使用AJAX非同步擷取資料

來源:互聯網
上載者:User

AJAX這個名字看起來很神奇,我第一次見到它也被它吸引了,它是Asynchronous JavaScript and XML的簡寫,非同步JAVASCRIPT和XML,關於AJAX的介紹在網上的介紹太多了,我就不多那麼多了,我的口才不好,沒他們說的那麼精彩,可以去http://zh.wikipedia.org/wiki/AJAX 看看,在這裡我只是給大家一個例子,瞭解如何去使用AJAX。

AJAX最有意思的地方就是可以不用重新整理網頁而可以和後台進行互動,不需要對頁面進行重新整理,實現網頁與網頁間的平滑過渡。使用AJAX不需要安裝新的外掛程式,只要求你的瀏覽器支援JAVASCRIPT。

首先你需要你個JAVASCRIPT中的對象XMLHttpRequest,它是AJAX的核心,我們都圍繞著它做事,通過下面的代碼可以擷取一個:

if (window.XMLHttpRequest){
xmlObj = new XMLHttpRequest();
}else if (window.ActiveXObject){
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}

我們通過這個對象的OPEN方法向服務發送請求,

該函式宣告為XMLHttpRequest.open(String method, String URL, boolean asynchronous);

method是請求的方式,可以為GET和POST

URL是你要請求的資源

asynchronous是布爾類型,為true表示互動設定為非同步

xmlObj.open("GET",URL,true);
xmlObj.send("");

調用send()(參數是空或是null)將會發起一次請求,

對於GET方式的請求,兩次同樣的請求將會得到相同的結果,

由於為將互動設定為非同步方式,因此要為指定一個回呼函數:

xmlObj.onreadystatechange = callBackFunction;

剩下的事就交給回呼函數處理了。

有一點要注意了,用Servlet或JSP來響應非同步請求時,

要設定reponse的contentType屬性指明是XML格式:

response.setContentType("text/xml");

一切都準備好了,那我們現在來做一個簡單的非同步請求,並將請求返回的結果顯示出來:

用戶端:

發送請求

看這裡!

以下是data.jsp

Zjcfan

相關文章

聯繫我們

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