Java Web基礎:第二十講 Ajax概述

來源:互聯網
上載者:User

本文內容摘自:《Java Web開發教程——入門與提高篇(JSP+Servlet)》

AJAX是Asynchronous JavaScript and XML的縮寫,涉及JavaScript指令碼、XHTML和CSS、DOM、XML和XSTL等技術。l         XHTML與CSS實現資料資訊的統一化和標準化顯示;l         使用DOM實現瀏覽器端豐富的動態顯示效果以及與伺服器的互動;l         使用XML和XSTL進行瀏覽器和伺服器端資料資訊交換和處理;l         使用XMLHttpRequest對象進行瀏覽器和伺服器端非同步資料讀取;l         使用JavaScript指令碼實現對所有資料進一步處理。AJAX的核心工作過程如下:1.         對象初始化,主要是建立XMLHttpRequest對象,XMLHttpRequest對象是AJAX技術中非常核心的一個對象,負責請求的設定、發送。2.         發送請求,設定回應程式法、請求所需要的資料,然後發送請求。3.         伺服器接收請求並進行處理,通常由Servlet接收請求,然後調用相應的業務方法來處理,之後對使用者響應。4.         用戶端接響應,接收到響應之後調用之前設定的回應程式法。5.         回應程式法根據響應資料修改用戶端頁面內容。採用AJAX技術之後,用戶端與伺服器端的互動過程發送了變化。在沒有採用AJAX技術之前,使用者通過設定<form>表單的action屬性,然後通過提交按鈕來提交請求,或者在JavaScript代碼中通過表單的submit方法來提交。AJAX基本上就是在Web 表單和伺服器之間增加了 JavaScript 技術和 XMLHttpRequest 對象。當使用者填寫表單時,資料發送給一些 JavaScript 代碼然後通過XMLHttpRequest對象發送,而不是直接發送給伺服器。在這個過程中,使用者螢幕上的表單不會閃爍、消失或延遲。JavaScript 代碼在幕後發送請求,使用者甚至不知道請求的發出。更好的是,請求是非同步發送的,就是說 JavaScript 代碼(和使用者)不用等待伺服器的響應。因此使用者可以繼續輸入資料、滾動螢幕和使用應用程式。然後,伺服器將資料返回 ,會調用請求時候定義的接收方法,該方法對這些資料進行處理,可以更新表單資料,讓人感覺應用程式是在本地執行的,表單沒有提交,頁面只是局部重新整理。響應代碼還可以對接收到的資料執行某種計算,或者再次發送請求。處理代碼主要採用JavaScript技術,而與伺服器的互動主要是通過XMLHttpRequest對象完成的。XMLHttpRequest對象的屬性以及作用如表4.2所示。表4.2  XMLHttpRequest屬性

屬性 作用
Onreadystatechange 狀態改變的事件觸發程序
readyState 對象狀態0表示未初始化1表示讀取中2表示已讀取3表示互動中4表示完成
responseText 伺服器處理序返回資料的文本,表示為一個字串
responseXML 伺服器處理序返回資料的相容DOM的XML文檔對象
Status 伺服器返回的狀態代碼,如:404(檔案未找到)。200(成功)。
statusText 伺服器返回的狀態文本資訊(OK或者Not Found等)
XMLHttpRequest對象的主要方法及作用如表4.3所示。表4.3 XMLHttpRequest對象的方法

方法 功能
abort() 停止當前請求
getAllResponseHeaders() 把HTTP請求的所有響應首部作為鍵/值對返回
getResponseHeader(“headerLabel”) 返回指定首部的字串的值
open(“method”,”URL””[,asyncFlag[,”username”[,”password”]]] 串連對伺服器的訪問。其中method參數可以使用GET、POST及PUT,URL參數既可以使用絕對位址,也可以使用相對位址,asyncFlag參數用於指定在進行調用時是採用同步方式還是非同步方式,預設值是true,即採用非同步方式。如果參數值為false,則採用同步方式實現和伺服器的互動,即等待伺服器返迴響應,username指定串連時候的使用者名稱,password指出密碼。
send(content) 向伺服器發送請求,可以使用的參數包括DOM對象、字串等等。
setRequestHeader(“label”,“value”) 設定header並和請求一起發送,即指定首部設定為提供的值,注意在設定首部前必須先使用open()方法。第一個參數為首部的名稱,第二個參數為首部中的值。

 

上一講: 第十九講 JavaScript處理(二)下一講: 第二十一講 Ajax互動的基本過程李緒成 CSDN Blog:http://blog.csdn.net/javaeeteacher邀請您為好友:http://student.csdn.net/invite.php?u=124362&c=7be8ba2b6f3b6cc5

聯繫我們

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