ajax技術(shù)和原理分析

作者: jnzh  2013-07-31 14:44 [查查吧]:uabf.cn

   ajax 技術(shù)和原理分析

  ajax所包含的技術(shù)

  大家都知道ajax并非一種新的技術(shù),而是幾種原有技術(shù)的結(jié)合體。它由下列技術(shù)組合而成。

  1.使用CSS和XHTML來表示。

  2. 使用DOM模型來交互和動態(tài)顯示。

  3.使用XMLHttpRequest來和服務(wù)器進(jìn)行異步通信。

  4.使用javascript來綁定和調(diào)用。

  在上面幾中技術(shù)中,除了XmlHttpRequest對象以外,其它所有的技術(shù)都是基于web標(biāo)準(zhǔn)并且已經(jīng)得到了廣泛使用的,XMLHttpRequest雖然目前還沒有被W3C所采納,但是它已經(jīng)是一個事實的標(biāo)準(zhǔn),因為目前幾乎所有的主流瀏覽器都支持它。

  ajax原理和XmlHttpRequest對象

  Ajax的原理簡單來說通過XmlHttpRequest對象來向服務(wù)器發(fā)異步請求,從服務(wù)器獲得數(shù)據(jù),然后用javascript來操作DOM而更新頁面。這其中最關(guān)鍵的一步就是從服務(wù)器獲得請求數(shù)據(jù)。要清楚這個過程和原理,我們必須對 XMLHttpRequest有所了解。

  XMLHttpRequest是ajax的核心機(jī)制,它是在IE5中首先引入的,是一種支持異步請求的技術(shù)。簡單的說,也就是javascript可以及時向服務(wù)器提出請求和處理響應(yīng),而不阻塞用戶。達(dá)到無刷新的效果。

  所以我們先從XMLHttpRequest講起,來看看它的工作原理。

  首先,我們先來看看XMLHttpRequest這個對象的屬性。

  它的屬性有:

  onreadystatechange 每次狀態(tài)改變所觸發(fā)事件的事件處理程序。

  responseText 從服務(wù)器進(jìn)程返回數(shù)據(jù)的字符串形式。

  responseXML 從服務(wù)器進(jìn)程返回的DOM兼容的文檔數(shù)據(jù)對象。

  status 從服務(wù)器返回的數(shù)字代碼,比如常見的404(未找到)和200(已就緒)

  status Text 伴隨狀態(tài)碼的字符串信息

  readyState 對象狀態(tài)值

  0 (未初始化) 對象已建立,但是尚未初始化(尚未調(diào)用open方法)

  1 (初始化) 對象已建立,尚未調(diào)用send方法

  2 (發(fā)送數(shù)據(jù)) send方法已調(diào)用,但是當(dāng)前的狀態(tài)及http頭未知

  3 (數(shù)據(jù)傳送中) 已接收部分?jǐn)?shù)據(jù),因為響應(yīng)及http頭不全,這時通過responseBody和responseText獲取部分?jǐn)?shù)據(jù)會出現(xiàn)錯誤,

  4 (完成) 數(shù)據(jù)接收完畢,此時可以通過通過responseXml和responseText獲取完整的回應(yīng)數(shù)據(jù)。 ?

發(fā)表評論

醫(yī)療健康