ajax的優(yōu)缺點(diǎn) Ajax的優(yōu)點(diǎn)和缺點(diǎn)?
Ajax的優(yōu)點(diǎn)和缺點(diǎn)??jī)?yōu)點(diǎn):1、最大的一點(diǎn)是頁(yè)面無(wú)刷新,用戶的體驗(yàn)非常好。2、使用異步方式與服務(wù)器通信,具有更加迅速的響應(yīng)能力。3、可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來(lái)處
Ajax的優(yōu)點(diǎn)和缺點(diǎn)?
優(yōu)點(diǎn):
1、最大的一點(diǎn)是頁(yè)面無(wú)刷新,用戶的體驗(yàn)非常好。
2、使用異步方式與服務(wù)器通信,具有更加迅速的響應(yīng)能力。
3、可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來(lái)處理,減輕服務(wù)器和帶寬的負(fù)擔(dān),節(jié)約空間和寬帶租用成本。并且減輕服務(wù)器的負(fù)擔(dān),ajax的原則是“按需取數(shù)據(jù)”,可以最大程度的減少冗余請(qǐng)求,和響應(yīng)對(duì)服務(wù)器造成的負(fù)擔(dān)。
4、基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù),不需要下載插件或者小程序。
缺點(diǎn):
1、ajax不支持瀏覽器back按鈕。
2、安全問(wèn)題 AJAX暴露了與服務(wù)器交互的細(xì)節(jié)。
3、對(duì)搜索引擎的支持比較弱。
4、破壞了程序的異常機(jī)制。
AJAX是什么?說(shuō)通俗些,謝謝?
白話說(shuō)吧javascript有個(gè)對(duì)象XMLHttpRequest,利用它可以打開(kāi)站點(diǎn)一個(gè)頁(yè)面,但這個(gè)頁(yè)面不會(huì)顯示在當(dāng)前頁(yè)面中,只會(huì)保存在這個(gè)對(duì)象里,然后你用DOM方法可以操作這個(gè)對(duì)象,和操作當(dāng)前文檔一樣。比較典型的例子,老式的form提交,提交后總會(huì)打開(kāi)一個(gè)頁(yè)面,要么用本頁(yè)打開(kāi),要么target="_blank"在一個(gè)新頁(yè)打開(kāi)。ajax解決了這個(gè)問(wèn)題,它用一個(gè)javascript收集表單數(shù)據(jù),然后用XMLHttpRequest發(fā)送到后臺(tái)頁(yè)面,然后XMLHttpRequest等待后臺(tái)頁(yè)面返回信息,返回的XML不是必須的,也可以返回html做字符串處理,整個(gè)過(guò)程如果不設(shè)定一些頁(yè)面效果,用戶是無(wú)法感覺(jué)到自己是否已經(jīng)提交頁(yè)面的(所以還是加個(gè)提交成功的提示)。所以大多數(shù)情況ajax不是不可替代的,它只是提高了用戶體驗(yàn)。也有個(gè)別項(xiàng)目非ajax不可,比如地圖網(wǎng)站,總不能讓這個(gè)世界地圖全部下載到客戶機(jī)器才開(kāi)始操作,一般是下載用戶當(dāng)前在所在坐標(biāo)的部分地圖,在根據(jù)用戶的鼠標(biāo)拖動(dòng),用戶每拖動(dòng)一次鼠標(biāo),實(shí)際是向服務(wù)器提交一起要查看地圖的坐標(biāo),這樣老的提交辦法會(huì)顯的笨拙,必須用ajax進(jìn)行提交信息,服務(wù)器處理信息,再返回需要載入的圖片地址,歸根結(jié)底依舊是解決用戶體驗(yàn)問(wèn)題。至于市場(chǎng)需求,如果整個(gè)項(xiàng)目大量使用ajax技術(shù),那么會(huì)是整個(gè)項(xiàng)目用戶體驗(yàn)有空前的提升效果,可以是一個(gè)很引人注意的賣點(diǎn)。如果只是個(gè)別幾個(gè)地方用,那就沒(méi)什么必要了,因?yàn)閍jax也有它的缺陷,首先,它很多操作是由javascript生成,不利于搜索引擎,其次,ajax提交為utf-8,如果跨編碼傳輸會(huì)出現(xiàn)亂碼,而且想改變提交編碼幾乎不可能,只能用服務(wù)器端進(jìn)行操作??傊琣jax有利有弊,如果你已經(jīng)開(kāi)始重視用戶體驗(yàn)了,那多用ajax吧
談?wù)勀銓?duì)ajax的理解?
通過(guò)異步的方式局部動(dòng)態(tài)更新頁(yè)面內(nèi)容,不用再重刷整個(gè)頁(yè)面,減輕了客服端資源。
既然Javascript有這么多缺陷,那為什么人們不參考它的功能開(kāi)發(fā)一門(mén)新語(yǔ)言而是一直對(duì)它修改呢?
Javascript語(yǔ)言只花了短短十天就被設(shè)計(jì)出來(lái)了,自然設(shè)計(jì)的不夠完善。甚至,一度網(wǎng)頁(yè)打開(kāi)的時(shí)候,彈出的小廣告,都是用js做的。隨著谷歌地圖等應(yīng)用的發(fā)布,ajax技術(shù),徹底帶火了js,很多應(yīng)用都采用了ajax,其中最重要的技術(shù)就是javascript。
javascript雖然有缺陷,但是也在不停的升級(jí),隨著不停的改進(jìn),現(xiàn)在js應(yīng)該說(shuō)已經(jīng)很優(yōu)秀了。隨著,大前端時(shí)代的到來(lái),node.js,vue.js等等技術(shù),更是讓js的地位無(wú)可撼動(dòng)。想要徹底替換js,不是一朝一夕的事。微軟推出了typescript,谷歌推出了Dart,目的都是要替換js,但是現(xiàn)在看來(lái),還有很長(zhǎng)一段時(shí)間路要走。
任何語(yǔ)言,都不是完美,就像人無(wú)完人一樣。程序員只需要找到最合適的語(yǔ)言就好。將來(lái),也許有一天,一門(mén)新的語(yǔ)言會(huì)替代javascript的。