19-1 簡

Web 基本上是一個分散的系統,所有的計算和處理,都由用戶端和伺服器來共同完成,用戶端的電腦執行的是網頁中的 Client-side Scripts,而伺服器則是執行網頁中的 Server-side Scripts。在 http 的協定下,每當使用者發出一個 Request 之後,伺服器就會執行網頁中的 Server-side Scripts (如 ASP),並將結果傳回給用戶端,再由用戶端的瀏覽器來執行網頁中的 Client-side Scripts(如 JavaScript 或 VBScript),並將結果顯示在螢幕上。如果還要存取伺服器端的資料,就必須再一次經由表單的送出,才能指揮伺服器做事,並將結果以新的網頁資料回傳,造成換頁,因此要保存原先網頁的資訊(或狀態)就比較麻煩。

在這種不斷換頁的情況下,網頁設計較繁瑣,流程也會比較不順。因此,我們是否能由 Client-side Scripts 所接收的事件(如滑鼠點選某一按鈕)來指揮 Server-side Scripts 做事,並在不換頁的情況下,將 Server-side Scripts 的執行結果悄悄地送回 Client-side Scripts 並顯示結果於同一個網頁?答案是肯定的,而且方法不只一種,本章將說明如何使用下列兩種方式來達成此種「非同步傳輸」的功能:

Hint
事實上,我們也可以採用微軟的 Remote Scripting 來達到非同步傳輸的功能,但是這需要近端的機器安裝 Java,對使用者造成多一層負擔,因此比較不實用。讀者可由 Google 來查詢 Remote Scripting 的相關資訊。

AJAX 的全名是「Asynchronous JavaScript And XML」,翻成中文是「非同步式的 JavaScript 與 XML」,但這並不是一個全新的技術,而是由數種既有的技術所形成的網頁設計方式,包含

早在 AJAX 這個名詞出現前,這種非同步網頁傳送方式已經被應用在各個網站,只是在 Google 大量運用此技術於 Gmail、Google Maps 等應用程式等後,才造成 AJAX 的一股風潮。採用 AJAX 可以提供下列好處: 但是,它也有下列幾項缺點:
JScript 程式設計與應用:用於伺服器端的 ASP 環境