什么是Ajax
- AJAX是“Asynchronous JavaScript and XML”的縮寫符相。他是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)班缰。
ajax的原理
- Ajax技術(shù)核心是XMLHttpRequest對象(簡稱XHR);
- ajax的使用能夠以異步的方式從服務(wù)器獲取信息刃泌,意味著用戶單擊后袍睡,可以不必刷新頁面也能取得新數(shù)據(jù)雀监。
- ajax就是原本把需要在新頁面中顯示的內(nèi)容寺枉,通過ajax異步載入到當(dāng)前頁面中來揭芍,再通過js輸出胳搞,達(dá)到不刷新頁面,獲取新內(nèi)容的目的称杨。
Ajax的優(yōu)點(diǎn)和缺點(diǎn)
- 優(yōu)點(diǎn)
改善的用戶體驗(yàn)- AJAX提供的更豐富的用戶體驗(yàn)是其主要優(yōu)點(diǎn)肌毅。AJAX允許網(wǎng)頁持續(xù)更新,但只需要和服務(wù)器交互很少的數(shù)據(jù)姑原。這樣悬而,就能在不必整個更新網(wǎng)頁的情況下更新網(wǎng)頁的一部分。經(jīng)典的網(wǎng)頁技術(shù)必須整個更新網(wǎng)頁(即使你只想更新某一部分)锭汛,是笨重的摊滔。AJAX增強(qiáng)了瀏覽器性能,使更快的瀏覽成為可能因此提供了有求必應(yīng)的用戶體驗(yàn)店乐。
增強(qiáng)用戶生產(chǎn)力- AJAX 庫提供了面向?qū)ο蟮妮o助函數(shù)艰躺,能給用戶減少麻煩,增強(qiáng)生產(chǎn)力眨八。另外腺兴,一個良好配置的ASP.NET應(yīng)用有它自己的數(shù)據(jù)訪問層和業(yè)務(wù)層。最后廉侧,“魯棒”的ASP.NET應(yīng)用包含UI層页响,在這一層執(zhí)行服務(wù)器端操作。如果你已經(jīng)包含了這些特性段誊,AJAX只需要一個額外的AJAX服務(wù)層和一些客戶端特性的改進(jìn)闰蚕。這樣,開發(fā)代價(jià)就減小了连舍,用戶生產(chǎn)效率也就增加了没陡。流行的站點(diǎn)如亞馬遜,谷歌索赏,雅虎等等都在開發(fā)中使用了AJAX盼玄。
減少帶寬的使用并增加速度- AJAX使用客戶端腳本來和web服務(wù)器通訊,用JavaScript來交互數(shù)據(jù)潜腻。使用AJAX能減少網(wǎng)路負(fù)載和帶寬使用并且只獲得你所需的數(shù)據(jù)埃儿。這樣能給你更快的接口和更低的響應(yīng)時(shí)間。響應(yīng)更快因此性能和速度增加了
增強(qiáng)兼容性- AJAX和ASP.NET,J2EE,PHP或者其他任何語言兼容融涣。它幾乎支持所有流行的瀏覽器比如IE5及以上版本童番,F(xiàn)irefox1.0及以上版本精钮,Safari1.2及以上版本,Opera7.6及以上版本剃斧,還有RockMelt杂拨。
支持異步處理- 使用XmlHttpRequest來進(jìn)行異步數(shù)據(jù)獲取,這是AJAX應(yīng)用的中堅(jiān)力量悯衬。所以弹沽,請求能被有效的處理,動態(tài)內(nèi)容加載被提升到一個更高的層次筋粗,性能也得到了增強(qiáng)
減少服務(wù)器請求和網(wǎng)絡(luò)負(fù)載-Atlas策橘,微軟AJAX庫的一種較老的形式,是一個整合了客戶端JavaScript庫并且易用的框架娜亿,能和ASP.NET一起開發(fā)AJAX應(yīng)用丽已。它提供了跨瀏覽器支持和面向?qū)ο蟮腁PI,這用來能開發(fā)具有最小化服務(wù)器請求/網(wǎng)路負(fù)載的應(yīng)用,并能實(shí)現(xiàn)異步處理
更容易導(dǎo)航-AJAX應(yīng)用能被用來簡化用戶在網(wǎng)頁間的過渡买决,而不需要使用傳統(tǒng)的前進(jìn)后退鍵
- 缺點(diǎn)
瀏覽器不兼容-AJAX高度依賴JavaScript沛婴,而不同的瀏覽器對JavaScript支持性不同。這成了一個問題督赤,尤其是當(dāng)AJAX必須跨許多瀏覽器工作的時(shí)候嘁灯。那些不支持JavaScript或者不支持JavaScript某些選項(xiàng)的瀏覽器將不能夠正常使用ajax。由于ajax對JavaScript的依賴性躲舌,它不適用移動應(yīng)用丑婿。你的web瀏覽器的后退鍵不能如期運(yùn)行。
不安全性-網(wǎng)頁可能很難調(diào)試没卸,增加網(wǎng)頁的代碼量羹奉,你的網(wǎng)頁更可能遇上嚴(yán)峻的安全威脅。
增加Web服務(wù)器的負(fù)載-如果你增加一個自動更新的功能约计,它每隔幾秒向服務(wù)發(fā)起請求诀拭,那么就會增加服務(wù)器的負(fù)載。
- 使用Ajax的最大優(yōu)點(diǎn)煤蚌,就是能在不更新整個頁面的前提下維護(hù)數(shù)據(jù)耕挨。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過的信息铺然。對應(yīng)用Ajax最主要的缺點(diǎn)就是俗孝,它可能破壞瀏覽器后退按鈕的正常行為因?yàn)锳jax中采用了xml技術(shù),所以在Ajax中也可能問到XML的問題魄健。(可擴(kuò)展的標(biāo)記語言(Extensible Markup Language)具有一種開放的、可擴(kuò)展的插勤、可自描述的語言結(jié)構(gòu)沽瘦,它已經(jīng)成為網(wǎng)上數(shù)據(jù)和文檔傳輸?shù)臉?biāo)準(zhǔn),用于其他應(yīng)用程序交換數(shù)據(jù) 革骨。)
Ajax和javascript的區(qū)別?
- javascript是一種在瀏覽器端執(zhí)行的腳本語言析恋,Ajax是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的開發(fā)技術(shù) 良哲,它是利用了一系列相關(guān)的技術(shù)其中就包括javascript。Javascript是由網(wǎng)景公司開發(fā)的一種腳本語言助隧,它和sun公司的java語言是沒有任何關(guān)系的筑凫,它們相似的名稱只是一種行銷策略。在一般的web開發(fā)中并村,javascript是在瀏覽器端執(zhí)行的巍实,我們可以用javascript控制瀏覽器的行為和內(nèi)容。在 Ajax應(yīng)用中信息是如何在瀏覽器和服務(wù)器之間傳遞的 通過XML數(shù)據(jù)或者字符串哩牍。