-
1 # FungLeo
-
2 # 雁塔菜農
菜農本人非常喜歡Ajax技術,曾經幻想Ajax控制一切,也曾經購買了域名“HotAjax.com.cn”(後來放棄了該域名),Ajax雖然優點多多,但終歸它歸屬於“非同步通訊”,實時性相對工控的要求較差。
如果要求實時性更好的,網友推薦用同步的“WebSocket”技術,本人一直未實戰,不敢評述,只能認為同步的WebSocket比非同步的Ajax技術更先進。
-
3 # 一個存在感小透明
在BAT實習,用thinkPHP寫專案的時候,曾經用過ajax,剛剛接觸的時候,簡直驚為天人。接下來,我們就來聊聊,ajax在不同場景的優劣勢。
ajax介紹與優勢以及適用場景英文全稱是asynchronous JavaScript and xml,是一種建立互動式網頁應用的網頁開發技術。要記住,ajax是一種非同步的,用於快速建立動態網頁的技術。它能夠透過與後臺進行少量的資料交換,使網頁實現非同步更新。這個聽起來似乎有點耳熟是不是。我們曾經在之前的回答中聊過websocket協議用於線上聊天室。其實如果不用websocket協議,而使用ajax輪詢,也能起到相似的效果。
具體舉例子來說,和女神正在用網頁端qq聊天,如果使用普通的http協議,那麼每次想獲取女神的回覆都需要瀏覽器帶著一個大腦袋的http request去問伺服器,這樣一方面很慢,一方面又很佔頻寬影響網速。如果女神剛好去洗澡了,男孩子只好開啟影片網站來消磨時間等待女神,如果聊天頁面使用http請求的話,結果就是既等不來女神回覆,又發現影片一卡一卡的,實在是很糟糕的體驗。
但是如果用ajax輪詢就不一樣了,ajax可以只攜帶很少的資料就去與後端互動,獲取資料之後,再更改部分頁面。從結果上看就是不會明顯影響頻寬,又能及時拉回女神的回覆更新在螢幕上。
這個場景就能看出ajax的優勢也就是適用場景就是資料發生變更時,迅速重新渲染部分HTML,而無須載入整個頁面。
弊端但是如果使用大量的使用ajax,原本的B/S架構(browser-server)就會變成逐漸像C/S(client-server)靠攏。什麼是C/S架構呢,你把軟體下載安裝到電腦上,比如qq,比如愛奇藝客戶端,就算C/S架構。在瀏覽器環境下,這種情況就會帶來一些問題,並且會影響整個瀏覽器的使用體驗。比如ajax會要求瀏覽器必須載入完js檔案後,才能渲染資料,因此使用者首次開啟頁面的時候會發現載入速度不一致。
綜上,ajax作為一門先進的技術,大幅改進了B/S架構的使用體驗,但是如果無休止且大量的併發ajax的話,會是得其反,因為我們在使用的時候還是要注意的。
-
4 # 定格往憶
ajax:無頁面重新整理提高使用者網頁瀏覽體驗
傳統同步模式:例如一個電商網頁載入如果採用同步的方式,所有的商品模組按順序載入,這樣網頁的完整顯示時間基本等於同步呼叫請求的時間之和,頁面載入時間和客戶滿意度成反比,這個就好比一個人去倉庫裝貨,貨物越多耗時越長
ajax:使用者點開網址,網頁靜態資訊會快速渲染,同時開啟多個ajax非同步請求後臺資料完成頁面資料更新,因響應時間基本都是毫秒級別,客戶根本感覺不到,這就好比多個人去倉庫裝貨,人越多耗時越短,另網路頁區域性動態操作時,如果沒有ajax整個網頁都要重新載入,嚴重影響客戶體驗,藉助ajax可以實現網頁區域性更新,提高使用者體驗,一般前端比較常用的angularjs等mvvm框架直接將網頁元素與後臺資料模型雙向繫結,便於前後端資料互動
-
5 # 網路圈
對於Web開發人員而言,Ajax一點也不陌生,現在Ajax技術是互動式網頁的標配技術,透過它可以在不載入整個網頁的基礎下更新部分資料的顯示。
Ajax是一種非同步資料通訊方式Ajax其實是非同步JavaScript和HTML/XML等技術的綜合實現,它並不是一種新的程式語言!Ajax可以讓瀏覽器與Web伺服器之間使用非同步方式傳輸資料,使資料通訊量小,而且達到區域性重新整理的效果。
Ajax技術的弊端雖說Ajax有著很多優點,但它也是有不少弊端的,比如:
過度依懶於瀏覽器,用Ajax技術後瀏覽器後退功能無效;
透過Ajax渲染的資料無法被搜尋引擎抓取、收錄、檢索;
容易讓程式碼複雜化(特別是異常機制處理);
致命缺點:- 必須要瀏覽器端主動請求,不能滿足實時性要求;- 部分手機端網頁下支援不是太好。
適合使用Ajax技術的場景總體而言Ajax是不錯的技術,我們也推薦在Web專案中使用Ajax技術來提升使用者體驗,特別是以下場景:
部分頁面的更新渲染;
表單輸入值的無重新整理校驗。
-
6 # 精神病病入膏肓
AJAX就是讓你在英雄加聯盟裡對賈克斯使用普通攻擊。弊端就是會被賈克斯反擊風暴閃避掉。所以要在賈克斯反擊風暴冷卻的時候再去進行普通攻擊。
回覆列表
ajax技術是一個非常好的技術,而目前來說,前端工程師必須使用這一技術去構建它的前端專案。因為它可以一步的請求服務端的資料,從而讓頁面可以無重新整理的來更新相關的內容,這一點相比原有的老的前端技術的話要方便太多了,對於使用者的體驗來說也要好太多了。
如果不考慮搜尋引擎最佳化的話,那麼使用ajax的技術,那就是有百利而無一害了,作為一個前端工程師,你必須掌握這門技術。至於它的應用場景,那實在是太多了,我就不一一贅述了,反正你記住一點,好好去學就可以了。