當前位置:編程學習大全網 - 編程語言 - ajax有哪些常用的構成技術

ajax有哪些常用的構成技術

1、XMLHTTPRequest

Ajax的壹個最大的特點是無需刷新頁面便可向服務器傳輸或讀寫數據(又稱無刷新更新頁面),這壹特點主要得益於XMLHTTP組件XMLHTTPRequest對象。這樣就可以向再發桌面應用程序只同服務器進行數據層面的交換,而不用每次都刷新界面也不用每次將數據處理的工作提交給服務器來做,這樣即減輕了服務器的負擔又加快了響應速度、縮短了用戶等候時間。

最早應用XMLHTTP的是微軟,IE(IE5以上)通過允許開發人員在Web頁面內部使用XMLHTTP ActiveX組件擴展自身的功能,開發人員可以不用從當前的Web頁面導航而直接傳輸數據到服務器上或者從服務器取數據。這個功能是很重要的,因為它幫助減少了無狀態連接的痛苦,它還可以排除下載冗余HTML的需要,從而提高進程的速度。Mozilla(Mozilla1.0以上及NetScape7以上)做出的回應是創建它自己的繼承XML代理類:XMLHttpRequest類。Konqueror (和Safari v1.2,同樣也是基於KHTML的瀏覽器)也支持XMLHttpRequest對象,而Opera也將在其v7.6x+以後的版本中支持XMLHttpRequest對象。對於大多數情況,XMLHttpRequest對象和XMLHTTP組件很相似,方法和屬性也類似,只是有壹小部分屬性不支持。

XMLHttpRequest的應用:

XMLHttpRequest對象在JS中的應用

var xmlponent installed!")

}

}

function createXMLHttpRequest() {

try {

// Attempt to create it "the Mozilla way"

if (window.XMLHttpRequest) {

return new XMLHttpRequest();

}

// Guess not - now the IE way

if (window.ActiveXObject) {

return new ActiveXObject(getXMLPrefix() + ".XmlHttp");

}

}

catch (ex) {}

return false;

};

XMLHttpRequest 對象方法

方法 描述

abort() 停止當前請求

getAllResponseHeaders() 作為字符串返問完整的headers

getResponseHeader("headerLabel") 作為字符串返問單個的header標簽

open("method","URL"[,asyncFlag[,"userName"[, "password"]]]) 設置未決的請求的目標 URL, 方法, 和其他參數

send(content) 發送請求

setRequestHeader("label", "value") 設置header並和請求壹起發送

XMLHttpRequest 對象屬性

屬性 描述

onreadystatechange 狀態改變的事件觸發器

readyState 對象狀態(integer):

0 = 未初始化

1 = 讀取中

2 = 已讀取

3 = 交互中

4 = 完成

responseText 服務器進程返回數據的文本版本

responseXML 服務器進程返回數據的兼容DOM的XML文檔對象

status 服務器返回的狀態碼, 如:404 = "文件末找到" 、200 ="成功"

statusText 服務器返回的狀態文本信息

2、JavaScript

JavaScript是壹在瀏覽器中大量使用的編程語言,,他以前壹直被貶低為壹門糟糕的語言(他確實在使用上比較枯燥),以在常被用來作壹些用來炫耀的小玩意和惡作劇或是單調瑣碎的表單驗證。但事實是,他是壹門真正的編程語言,有著自已的標準並在各種瀏覽器中被廣泛支持。

3、DOM

Document Object Model。

DOM是給 HTML 和 XML 文件使用的壹組 API。它提供了文件的結構表述,讓妳可以改變其中的內容及可見物。其本質是建立網頁與 Script 或程序語言溝通的橋梁。

所有WEB開發人員可操作及建立文件的屬性、方法及事件都以對象來展現(例如,document 就代表“文件本身“這個對像,table 對象則代表 HTML 的表格對象等等)。這些對象可以由當今大多數的瀏覽器以 Script 來取用。

壹個用HTML或XHTML構建的網頁也可以看作是壹組結構化的數據,這些數據被封在DOM(Document Object Model)中,DOM提供了網頁中各個對象的讀寫的支持。

4、XML

可擴展的標記語言(Extensible Markup Language)具有壹種開放的、可擴展的、可自描述的語言結構,它已經成為網上數據和文檔傳輸的標準。它是用來描述數據結構的壹種語言,就正如他的名字壹樣。他使對某些結構化數據的定義更加容易,並且可以通過他和其他應用程序交換數據。

5、綜合

Jesse James Garrett提到的Ajax引擎,實際上是壹個比較復雜的JavaScript應用程序,用來處理用戶請求,讀寫服務器和更改DOM內容。

JavaScript的Ajax引擎讀取信息,並且互動地重寫DOM,這使網頁能無縫化重構,也就是在頁面已經下載完畢後改變頁面內容,這是我們壹直在通過JavaScript和DOM在廣泛使用的方法,但要使網頁真正動態起來,不僅要內部的互動,還需要從外部獲取數據,在以前,我們是讓用戶來輸入數據並通過DOM來改變網頁內容的,但現在,XMLHTTPRequest,可以讓我們在不重載頁面的情況下讀寫服務器上的數據,使用戶的輸入達到最少。

基於XML的網絡通訊也並不是新事物,實際上FLASH和JAVA Applet都有不錯的表現,現在這種富交互在網頁上也可用了,基於標準化的並被廣泛支持和技術,並且不需要插件或下載小程序。

Ajax是傳統WEB應用程序的壹個轉變。以前是服務器每次生成HTML頁面並返回給客戶端(瀏覽器)。在大多數網站中,很多頁面中至少90%都是壹樣的,比如:結構、格式、頁頭、頁尾、廣告等,所不同的只是壹小部分的內容,但每次服務器都會生成所有的頁面再返回給客戶端,這無形之中是壹種浪費,不管是對於用戶的時間、帶寬、CPU耗用,還是對於ISP的高價租用的帶寬和空間來說。如果按壹頁來算,只能幾K或是幾十K可能並不起眼,但像SINA每天要生成幾百萬個頁面的大ISP來說,可以說是損失巨大的。而AJAX可以所為客戶端和服務器的中間層,來處理客戶端的請求,並根據需要向服務器端發送請求,用什麽就取什麽、用多少就取多少,就不會有數據的冗余和浪費,減少了數據下載總量,而且更新頁面時不用重載全部內容,只更新需要更新的那部分即可,相對於純後臺處理並重載的方式縮短了用戶等待時間,也把對資源的浪費降到最低,基於標準化的並被廣泛支持和技術,並且不需要插件或下載小程序,所以Ajax對於用戶和ISP來說是雙盈的。

Ajax使WEB中的界面與應用分離(也可以說是數據與呈現分離),而在以前兩者是沒有清晰的界限的,數據與呈現分離的分離,有利於分工合作、減少非技術人員對頁面的修改造成的WEB應用程序錯誤、提高效率、也更加適用於現在的發布系統。也可以把以前的壹些服務器負擔的工作轉嫁到客戶端,利於客戶端閑置的處理能力來處理。

  • 上一篇:給壹年級小學生準備的數學遊戲六則
  • 下一篇:歐姆龍PLC編程線的插頭型號
  • copyright 2024編程學習大全網