AJAX的優(yōu)點
- 改善的用戶體驗- AJAX提供的更豐富的用戶體驗是其主要優(yōu)點。AJAX允許網(wǎng)頁持續(xù)更新,但只需要和服務(wù)器交互很少的數(shù)據(jù)。這樣,就能在不必整個更新網(wǎng)頁的情況下更新網(wǎng)頁的一部分。經(jīng)典的網(wǎng)頁技術(shù)必須整個更新網(wǎng)頁(即使你只想更新某一部分),是笨重的。AJAX增強了瀏覽器性能,使更快的瀏覽成為可能因此提供了有求必應(yīng)的用戶體驗。
- 增強用戶生產(chǎn)力- AJAX 庫提供了面向?qū)ο蟮妮o助函數(shù),能給用戶減少麻煩,增強生產(chǎn)力。另外,一個良好配置的ASP.NET應(yīng)用有它自己的數(shù)據(jù)訪問層和業(yè)務(wù)層。最后,“魯棒”的ASP.NET應(yīng)用包含UI層,在這一層執(zhí)行服務(wù)器端操作。如果你已經(jīng)包含了這些特性,AJAX只需要一個額外的AJAX服務(wù)層和一些客戶端特性的改進。這樣,開發(fā)代價就減小了,用戶生產(chǎn)效率也就增加了。流行的站點如亞馬遜,谷歌,雅虎等等都在開發(fā)中使用了AJAX。
- 減少帶寬的使用并增加速度- AJAX使用客戶端腳本來和web服務(wù)器通訊,用JavaScript來交互數(shù)據(jù)。使用AJAX能減少網(wǎng)路負載和帶寬使用并且只獲得你所需的數(shù)據(jù)。這樣能給你更快的接口和更低的響應(yīng)時間。響應(yīng)更快因此性能和速度增加了
- 增強兼容性- AJAX和ASP.NET,J2EE,PHP或者其他任何語言兼容。它幾乎支持所有流行的瀏覽器比如IE5及以上版本,F(xiàn)irefox1.0及以上版本,Safari1.2及以上版本,Opera7.6及以上版本,還有RockMelt。
- 支持異步處理- 使用XmlHttpRequest來進行異步數(shù)據(jù)獲取,這是AJAX應(yīng)用的中堅力量。所以,請求能被有效的處理,動態(tài)內(nèi)容加載被提升到一個更高的層次,性能也得到了增強
- 減少服務(wù)器請求和網(wǎng)絡(luò)負載-Atlas,微軟AJAX庫的一種較老的形式,是一個整合了客戶端JavaScript庫并且易用的框架,能和ASP.NET一起開發(fā)AJAX應(yīng)用。它提供了跨瀏覽器支持和面向?qū)ο蟮腁PI,這用來能開發(fā)具有最小化服務(wù)器請求/網(wǎng)路負載的應(yīng)用,并能實現(xiàn)異步處理
- 更容易導(dǎo)航-AJAX應(yīng)用能被用來簡化用戶在網(wǎng)頁間的過渡,而不需要使用傳統(tǒng)的前進后退鍵
AJAX的缺點
瀏覽器不兼容-AJAX高度依賴JavaScript,而不同的瀏覽器對JavaScript支持性不同。這成了一個問題,尤其是當(dāng)AJAX必須跨許多瀏覽器工作的時候。那些不支持JavaScript或者不支持JavaScript某些選項的瀏覽器將不能夠正常使用ajax。由于ajax對JavaScript的依賴性,它不適用移動應(yīng)用。你的web瀏覽器的后退鍵不能如期運行。
不安全性-網(wǎng)頁可能很難調(diào)試,增加網(wǎng)頁的代碼量,你的網(wǎng)頁更可能遇上嚴峻的安全威脅。
增加Web服務(wù)器的負載-如果你增加一個自動更新的功能,它每隔幾秒向服務(wù)發(fā)起請求,那么就會增加服務(wù)器的負載。
AJAX應(yīng)用和傳統(tǒng)Web應(yīng)用有什么不同?
在傳統(tǒng)的Javascript編程中,如果想得到服務(wù)器端數(shù)據(jù)庫或文件上的信息,或者發(fā)送客戶端信息到服務(wù)器,需要建立一個HTML form然后GET或者POST數(shù)據(jù)到服務(wù)器端。用戶需要點擊”Submit”按鈕來發(fā)送或者接受數(shù)據(jù)信息,然后等待服務(wù)器響應(yīng)請求,頁面重新加載。
因為服務(wù)器每次都會返回一個新的頁面, 所以傳統(tǒng)的web應(yīng)用有可能很慢而且用戶交互不友好。
使用AJAX技術(shù), 就可以使Javascript通過XMLHttpRequest對象直接與服務(wù)器進行交互。
通過HTTP Request, 一個web頁面可以發(fā)送一個請求到web服務(wù)器并且接受web服務(wù)器返回的信息(不用重新加載頁面),展示給用戶的還是同一個頁面,用戶感覺頁面刷新,也看不到到Javascript后臺進行的發(fā)送請求和接受響應(yīng)。
更多建議: