AJAX背景技術介紹
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
ajax全稱為“asynchronous javascript and xml”(異步javascript和xml),是指一種創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)頁開發(fā)技術。 [br][br]主要包含了以下幾種技術: [br][br]ajax(asynchronous javascript + xml)的定義 [br][br]基于web標準(standards-based presentation)xhtml+css的表示; [br][br]使用 dom(document object model)進行動態(tài)顯示及交互; [br][br]使用 xml 和 xslt 進行數(shù)據(jù)交換及相關操作; [br][br]使用 xmlhttprequest 進行異步數(shù)據(jù)查詢、檢索; [br][br]使用 javascript 將所有的東西綁定在一起。英文參見ajax的提出者jesse james garrett的原文a [br][br]類似于dhtml或lamp,ajax不是指一種單一的技術,而是有機地利用了一系列相關的技術。事實上,一些基于ajax的“派生/合成”式(derivative/composite)的技術正在出現(xiàn),如“aflax”。 [br][br]ajax的應用使用支持以上技術的web瀏覽器作為運行平臺。這些瀏覽器目前包括:mozilla、firefox、internet explorer、opera、konqueror及safari。但是opera不支持xsl格式對象,也不支持xslt。[br][br]與傳統(tǒng)的web應用比較[br][br]傳統(tǒng)的web應用允許用戶填寫表單(form),當提交表單時就向web服務器發(fā)送一個請求。服務器接收并處理傳來的表單,然後返回一個新的網(wǎng)頁。這個做法浪費了許多帶寬,因為在前後兩個頁面中的大部分html代碼往往是相同的。由于每次應用的交互都需要向服務器發(fā)送請求,應用的響應時間就依賴于服務器的響應時間。這導致了用戶界面的響應比本地應用慢得多。 [br][br]與此不同,ajax應用可以僅向服務器發(fā)送并取回必需的數(shù)據(jù),它使用soap或其它一些基于xml的web service接口,并在客戶端采用javascript處理來自服務器的響應。因為在服務器和瀏覽器之間交換的數(shù)據(jù)大量減少,結果我們就能看到響應更快的應用。同時很多的處理工作可以在發(fā)出請求的客戶端機器上完成,所以web服務器的處理時間也減少了。[br][br]ajax應用程序的優(yōu)勢在于:[br][br]1. 通過異步模式,提升了用戶體驗[br][br]2. 優(yōu)化了瀏覽器和服務器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用[br][br]3. ajax引擎在客戶端運行,承擔了一部分本來由服務器承擔的工作,從而減少了大用戶量下的服務器負載。[br][br]ajax的工作原理[br][br] ajax的核心是javascript對象xmlhttprequest。該對象在internet explorer 5中首次引入,它是一種支持異步請求的技術。簡而言之,xmlhttprequest使您可以使用javascript向服務器提出請求并處理響應,而不阻塞用戶。[br][br] 在創(chuàng)建web站點時,在客戶端執(zhí)行屏幕更新為用戶提供了很大的靈活性。下面是使用ajax可以完成的功能:[br][br] 動態(tài)更新購物車的物品總數(shù),無需用戶單擊update并等待服務器重新發(fā)送整個頁面。 [br][br] 提升站點的性能,這是通過減少從服務器下載的數(shù)據(jù)量而實現(xiàn)的。例如,在某購物車頁面,當更新籃子中的一項物品的數(shù)量時,會重新載入整個頁面,這必須下載整個頁面的數(shù)據(jù)。如果使用ajax計算新的總量,服務器只會返回新的總量值,因此所需的帶寬僅為原來的百分之一。 消除了每次用戶輸入時的頁面刷新。例如,在ajax中,如果用戶在分頁列表上單擊next,則服務器數(shù)據(jù)只刷新列表而不是整個頁面。 [br]直接編輯表格數(shù)據(jù),而不是要求用戶導航到新的頁面來編輯數(shù)據(jù)。對于ajax,當用戶單擊edit時,可以將靜態(tài)表格刷新為內(nèi)容可編輯的表格。用戶單擊done之后,就可以發(fā)出一個ajax請求來更新服務器,并刷新表格,使其包含靜態(tài)、只讀的數(shù)據(jù)。[br][br] 一切皆有可能!但愿它能夠激發(fā)您開始開發(fā)自己的基于ajax的站點。然而,在開始之前,讓我們介紹一個現(xiàn)有的web站點,它遵循傳統(tǒng)的提交/等待/重新顯示的范例,我們還將討論ajax如何提升用戶體驗。[br][br] ajax的工作原理相當于在用戶和服務器之間加了—個中間層,使用戶操作與服務器響應異步化。這樣把以前的一些服務器負擔的工作轉嫁到客戶端,利于客戶端閑置的處理能力來處理,減輕服務器和帶寬的負擔,從而達到節(jié)約isp的空間及帶寬租用成本的目的。
該文章在 2010/5/14 22:43:54 編輯過 |
關鍵字查詢
相關文章
正在查詢... |