一超歌、Ajax的優(yōu)勢
1. 不需要插件支持
Ajax 不需要任何瀏覽器插件梨撞,就可以被絕大多數(shù)主流瀏覽器所支持堕伪,用戶只需要允許JavaScript在瀏覽器上執(zhí)行即可
2. 優(yōu)秀的用戶體驗
這是Ajax技術(shù)的最大優(yōu)點挤渔,能在不刷新整個頁面的前提下更新數(shù)據(jù),這使得web應(yīng)用程序能更為迅速地回應(yīng)用戶的操作
3.提高web程序性能
與傳統(tǒng)模式相比先慷,Ajax模式在性能上的最大區(qū)別就在于傳統(tǒng)模式傳輸數(shù)據(jù)的方式饮笛,在傳統(tǒng)模式中,數(shù)據(jù)提交是通過表單(Form)來實現(xiàn)的论熙,而數(shù)據(jù)獲取是靠全頁面刷新來重新獲取整頁的內(nèi)容缎浇。Ajax模式只是通過XHMHttpRequest對象向服務(wù)器端提交希望提交的數(shù)據(jù),即按需發(fā)送
4減輕服務(wù)器和帶寬的負擔(dān)
Ajax的工作原理相當(dāng)于在用戶和服務(wù)器之間加了一個中間層赴肚,使用戶操作與服務(wù)器響應(yīng)異步化。它在金額護短創(chuàng)建Ajax引擎二蓝,把傳統(tǒng)方式下的一些服務(wù)器負擔(dān)的工作轉(zhuǎn)移到客戶端誉券,便于客戶端資源來處理,減輕服務(wù)器和帶寬的負擔(dān)
二刊愚、Ajax的不足
1.瀏覽器對XMLHttpRequest對象的支持度不足
IE在5.0版本及以后的版本才支持XMLHttpRequest對象(現(xiàn)階段大部分客戶端上的IE是IE6以上)踊跟,Mozilla,Netscape等瀏覽器支持XMLHttpRequest則更在其后鸥诽。
2.破壞瀏覽器前進商玫、“后退”按鈕的正常功能
在Ajax中“前進”和“后退”按鈕的功能會失效,雖然可以通過一定的方法(添加錨點)來使得用戶可以使用“前進”和“后退”按鈕牡借,但相對于傳統(tǒng)的方式卻麻煩了很多拳昌。當(dāng)單機一個按鈕觸發(fā)一個Ajax交互后又覺得不想這樣做,接著就去習(xí)慣性地單機“后退”按鈕钠龙,結(jié)果發(fā)生了最不愿意看到的結(jié)果炬藤,瀏覽器后退到了先前的一個頁面,通過Ajax交互得到的內(nèi)容完全消失了
3.對搜索引擎的支持的不足
對于搜索引擎的支持也是Ajax的一項缺憾碴里。通常搜索引擎都是通過爬蟲程序來對互聯(lián)網(wǎng)上的數(shù)以億計的海量數(shù)據(jù)來進行搜索整理的沈矿,然而爬蟲程序現(xiàn)在還不能理解那些奇怪的JavaScript代碼和因此一起的頁面內(nèi)容的變化,這使得應(yīng)用Ajax的站點在網(wǎng)絡(luò)推廣上相對于傳統(tǒng)站點明顯處于劣勢咬腋。
4.開發(fā)和調(diào)試工具的缺乏
JavaScript是Ajax的重要組成部分羹膳,在目前,由于缺少很好的JavaScript開發(fā)和調(diào)試工具根竿,使很多web開發(fā)者對JavaScript望而生畏陵像,這對于編寫Ajax代碼就更加困難了就珠。同時,目前許多web開發(fā)者已經(jīng)習(xí)慣使用可視化的工具蠢壹,對親自動手編寫代碼有畏懼感嗓违,這也是在一定程度上影響了大家對Ajax的應(yīng)用