理解 Ajax 及其工作原理,構建網站的一種有效方法
簡介:Ajax 由 HTML、JavaScript技術、DHTML 和 DOM 組成,這一傑出的方法可以將笨拙的 Web 界 面轉化成互動性的 Ajax 應用程式。本系列的作者是一位 Ajax 專家,他示範了這些技術如何協同工作 —— 從總體概述到細節的討論 —— 使高效的 Web 開發成為現實。他還揭開了 Ajax 核心概念的神秘面 紗,包括 XMLHttpRequest 對象。
五年前,如果不知道 XML,您就是一隻無人重視的醜小鴨。十八個月前,Ruby 成了關注的中心,不知 道 Ruby 的程式員只能坐冷板凳了。今天,如果想跟上最新的技術時尚,那您的目標就是 Ajax。
但是,Ajax 不僅僅 是一種時尚,它是一種構建網站的強大方法,而且不像學習一種全新的語言那樣 困難。
但在詳細探討 Ajax 是什麼之前,先讓我們花幾分鐘瞭解 Ajax 做 什麼。目前,編寫應用程式時有兩 種基本的選擇:
傳統型應用程式
Web 應用程式
兩者是類似的,傳統型應用程式通常以 CD 為介質(有時候可從網站下載)並完整安裝到您的電腦上 。傳統型應用程式可能使用互連網下載更新,但運行這些應用程式的代碼在案頭電腦上。Web 應用程式運 行在某處的 Web 服務器上 —— 毫不奇怪,要通過 網頁瀏覽器訪問這種應用程式。
不過,比這些應用程式的運行代碼放在何處更重要的是,應用程式如何運轉以及如何與其進行互動。 傳統型應用程式一般很快(就在您的電腦上運行,不用等待互連網串連),具有漂亮的使用者介面(通常和 作業系統有關)和非凡的動態性。可以單擊、選擇、輸入、開啟菜單和子功能表、到處巡遊,基本上不需要 等待。
另一方面,Web 應用程式是最新的潮流,它們提供了在案頭上不能實現的服務(比如 Amazon.com 和 eBay)。但是,伴隨著 Web 的強大而出現的是等待,等待伺服器響應,等待螢幕重新整理,等待請求返回和 產生新的頁面。
顯然這樣說過於簡略了,但基本的概念就是如此。您可能已經猜到,Ajax 嘗試建立傳統型應用程式的功 能和互動性,與不斷更新的 Web 應用程式之間的橋樑。可以使用像傳統型應用程式中常見的動態使用者介面 和漂亮的控制項,不過是在 Web 應用程式中。
還等什麼呢?我們來看看 Ajax 如何將笨拙的 Web 介面轉化成能迅速響應的 Ajax 應用程式吧。
老技術,新技巧
在談到 Ajax 時,實際上涉及到多種技術,要靈活地運用它必須深入瞭解這些不同的技術(本系列的 頭幾篇文章將分別討論這些技術)。好訊息是您可能已經非常熟悉其中的大部分技術,更好的是這些技術 都很容易學習,並不像完整的程式設計語言(如 Java 或 Ruby)那樣困難。
下面是 Ajax 應用程式所用到的基本技術:
HTML 用於建立 Web 表單並確定應用程式其他部分使用的欄位。
JavaScript 代碼是運行 Ajax 應用程式的核心代碼,協助改進與伺服器應用程式的通訊。
DHTML 或 Dynamic HTML,用於動態更新表單。我們將使用 div、span 和其他動態超文字標記語言 元素來標記 HTML。
文件物件模型 DOM 用於(通過 JavaScript 代碼)處理 HTML 結構和(某些情況下)伺服器返回的 XML。
我們來進一步分析這些技術的職責。以後的文章中我將深入討論這些技術,目前只要熟悉這些組件和 技術就可以了。對這些代碼越熟悉,就越容易從對這些技術的零散瞭解轉變到真正把握這些技術(同時也 真正開啟了 Web 應用程式開發的大門)。