說起AJAX,如果是足球迷,真是會(huì)以為是說阿積士,哈哈!雖然阿積士在波壇也很聞名,可是今天的主角是網(wǎng)頁制作世界的AJAX哦。
AJAX為「Asynchronous JavaScript and XML」(非同步的JavaScript與XML技術(shù)),指的是一套綜合了多項(xiàng)技術(shù)的瀏覽器端網(wǎng)頁開發(fā)技術(shù)。
?
傳統(tǒng)的網(wǎng)站設(shè)計(jì)允許使用者端填寫表單(form),當(dāng)提交表單時(shí)就向網(wǎng)頁伺服器發(fā)送一個(gè)請求。伺服器接收并處理傳來的表單,然后送回一個(gè)新的網(wǎng)頁,簡單來說用戶是需要在伺服器處理表單這段時(shí)間需要等待,而當(dāng)完成時(shí)網(wǎng)頁進(jìn)行一次Refresh跳頁以顯示結(jié)果,這個(gè)做法其實(shí)浪費(fèi)了許多頻寬,因?yàn)樵谇昂髢蓚€(gè)頁面中的大部分HTML碼往往是相同的。由于每次資料傳送都需要向伺服器發(fā)送請求,系統(tǒng)的回應(yīng)時(shí)間依賴于伺服器的回應(yīng)時(shí)間。這導(dǎo)致了使用者介面的回應(yīng)比本機(jī)應(yīng)用慢得多。
?
與此不同,AJAX應(yīng)用可以僅向伺服器發(fā)送并取回必須的資料,它使用SOAP或其它一些基于XML的頁面服務(wù)介面,并在客戶端采用JavaScript處理來自伺服器的回應(yīng)。因?yàn)樵谒欧骱蜑g覽器之間交換的資料大量減少(大約只有原來的5%)。結(jié)果,我們感覺伺服器回應(yīng)更快了。同時(shí),很多的處理工作可以在發(fā)出請求的客戶端機(jī)器上完成,因此網(wǎng)頁伺服器的負(fù)荷也減少了。除此之外更重要的一點(diǎn)是,在用戶介面方面,使用AJAX傳送資料可省卻用戶重新載入網(wǎng)頁的次數(shù),因?yàn)榇蟛糠莸捻撁鎯?nèi)容都是相同的,而我們從資料傳送中需要改變的內(nèi)容可能只是網(wǎng)頁上的一小部份(例如提交表單,完成后可能只需要顯示一段文字以告知用戶那個(gè)表單的處理結(jié)果),利用AJAX則可做到局部更新網(wǎng)頁內(nèi)容的功能,配合如 jQuery 等 javascript Library 制作視覺效果,便可制作出 User Friendly 的網(wǎng)頁介面程式。