- Ajax與jQuery程序設計
- 程永恒
- 947字
- 2020-06-29 11:32:55
1.2 重新設計Web應用
傳統Web應用的不足一直突顯在用戶面前,用戶常常抱怨系統的響應速度太慢。除了網絡帶寬的限制、業務邏輯復雜、硬件設備制約等因素外,頻繁的頁面刷新以及每次響應都必須下載整個響應頁面,也導致了響應速度變慢。因此,傳統Web應用必須重新改進。
1.2.1 富Internet應用
B/S結構已成為應用程序開發的默認結構。用戶對應用程序復雜性要求日增,Web應用程序對完成復雜邏輯始終差強人意。
傳統網絡程序的開發是基于頁面的、服務器端數據傳遞的模式,把網絡程序的表示層建立于HTML頁面之上,而HTML適合于文本顯示,傳統的基于HTML頁面的系統已經不能滿足網絡瀏覽者更高的、全方位的體驗要求。這就是“體驗問題”(Experience Matters),而富Internet應用(Rich Internet Applications,RIA)的出現就是為了解決這個問題。目前Web領域和桌面軟件領域正逐步向RIA靠攏,預計三五年后RIA的時代將會完全到來。
對于理想的RIA,用戶無須安裝任何客戶端軟件,只需擁有瀏覽器。一個典型的富客戶端應用是百度地圖。百度地圖支持鼠標的拖動、放大、縮小。地圖隨著鼠標的拖動而拖動,但頁面本身卻無須重新加載。如果鼠標拖動得太遠,可能出現部分空白區域,但這種空白只是地圖區域在加載,而不是整個頁面在加載。
當使用鼠標單擊地圖上的提示點時,地圖上將出現對該點更詳細的介紹。圖1-4所示為百度地圖中的黃鶴樓信息。

圖1-4 百度地圖應用
1.2.2 Ajax的實際應用
Ajax本質上是一種RIA,而且其優勢非常明顯。基于Ajax的應用無須瀏覽器下載任何插件,并且可以在任何平臺上良好運行。
從本質上看,Ajax就是異步發送請求JavaScript,也包括動態裝載服務器數據。圖1-5所示為異步發送請求的示意圖。

圖1-5 異步發送請求
Ajax除了異步發送請求外,還能動態加載服務器響應數據。使用Ajax能避免頻繁刷新頁面,服務器響應的是數據,而不是整個頁面內容。Ajax負責獲取服務器數據,然后將服務器數據動態加載到瀏覽器中。
Ajax還有個顯著的優勢是:所用的技術大都是些“古老”的技術,例如JavaScript、DOM、CSS等。同時,這些技術都是標準化的,并不屬于任何特定的廠商,目前所有瀏覽器都對Ajax技術支持良好。所以,Ajax技術自從2005年問世以來,已在業界得到迅速推廣,到現在已很難找到沒有使用Ajax的B/S的應用了。
Ajax使用簡單的XMLHttpRequest對象發送請求,使用簡單的JavaScript函數監視服務器響應。在服務器響應完成后,JavaScript通過DOM動態更新HTML頁面。自始至終,用戶的動作無須中斷,所感受到的是一種連續的體驗。
- iOS面試一戰到底
- 精通Nginx(第2版)
- 編程的修煉
- Mastering Entity Framework
- PhoneGap:Beginner's Guide(Third Edition)
- Python High Performance Programming
- Python機器學習算法: 原理、實現與案例
- MINECRAFT編程:使用Python語言玩轉我的世界
- Android移動應用項目化教程
- Mastering OAuth 2.0
- Learning Concurrency in Python
- Python Social Media Analytics
- Android 游戲開發大全(第二版)
- 系統分析師UML用例實戰
- Web程序設計與架構