iT邦幫忙

7

JavaScript與ASP.NET圓舞曲之九: AJAX

只要是在ASP.NET中開發網頁, 就一定會用到AJAX技術.

AJAX是Asynchronous JavaScript And XML的簡稱.

要談AJAX就一定要提到一位大師中的大師: Jesse James Garrett...AJAX一詞, 即由Jesse在2005年提出.

AJAX有什麼特別? 我們看下圖(取材自Jesse的網頁):

由上圖, 我們可以瞭解:

  1. 伺服器端和用戶端間是以XML資料格式通訊
  2. 用戶端有個AJAX解譯器, 負責把XML資料內容轉譯成HTML+CSS格式, 再在瀏覽器上表現

那所謂非同步(Asynchronous)呢? 請見下圖(也是取材自Jesse的網頁)

在沒有採用AJAX的環境中, 用戶端和伺服器端的溝通是一來一往的, 也就是用戶端向伺服器端送出請, 要等伺服器端回應完成整個溝通過程, 才能進行下一個步驟.

但在AJAX環境下, 用戶端的AJAX核心會負責和伺服器端溝通, 在用戶端的使用者不斷向伺服器端送出請求, 而伺服器端完成請求回應時, 用戶端AJAX核心會接收, 並把結果送到前端, 這樣, 使用者就能真正享受網上衝浪的快感.
基本上, AJAX提供了下列技術:

  • XHTML/HTML + CSS, 讓資料呈現更多樣化.
  • 利用DOM以及JavaScript存取資料, 以XML資料格式來處理.
  • 利用XMLHttpRequest物件與伺服器端進行非同步資料交換.

但微軟在Visual Studio的AJAX中, 加入更多的特色:

  • 互動式UI項目, 例如進度列指示器、工具提示及快顯視窗.
  • 藉由AJAX核心與服器端的非同步互動提升Web Form的效率.
  • 當網頁局部更新時, 只會重新整理變更的部分.
  • 用戶端與ASP.NET應用程式服務, 如IIS的表單驗證、角色和使用者設定檔等整合.
  • 部署網站時, 會自動產生Proxy類別, 簡化用戶端指令碼呼叫Web服務方法的過程.
  • 可以自訂伺服器控制項, 把用戶端功能包裝成伺服器上的Web Part.

現在的各主流瀏覽器, 如IE、Firefox、Safari、Chrome等等都支援AJAX.

嚴格講起來, Visual Studio的AJAX分成兩大塊:

  • 伺服器端的AJAX擴充功能
  • 以及Microsoft AJAX Library, 這是用戶端的Script Library, 其實, 若是以JavaScript的標準來定義, Microsoft AJAX Library不能算單純的JavaScript Library

    上圖是Visual Studio 2010中的MVC專案所擷取, 這是為了讓各位看到Microsoft AJAX Library有那幾個檔案.

另外, 還有個ASP.NET AJAX Control Toolkit, 就留在下一篇說明了.


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
ted99tw
iT邦高手 1 級 ‧ 2012-07-28 19:45:11

我們也正準備要進JS魔窟打AJAX這隻魔王說~~~不如讓我們哼哈二將一次將這魔王給挑了!!
炸死你炸死你炸死你

0
ted99tw
iT邦高手 1 級 ‧ 2012-07-28 23:22:23

對了,賽大,我們正期待您第“十”篇圓舞曲哩~~

結局時,女主角會“獻身”嗎?

歹勢,寫錯了,是....會“現身”嗎?噎到

我要留言

立即登入留言