使用 Ajax,您可以輕而易舉地即時向使用者提供反饋,而不必再耗費大量時間重新載入使用者所使用的頁面。本文將帶領您發現視圖和代理如何協助您構建 Ajax 驅動的應用程式,並教您如何定義一個 API,使客戶機和 Domino 伺服器協作。
每個人都曾經使用過某種類型的 To Do 列表系統。此類系統通常包含一些必須快速、易用的資料小段。To Do 列表也是示範 Asynchronous JavaScript and XML(Ajax)技術與 Lotus Domino 的完美範例,本文將為您介紹如何使用 Ajax 設計模式來構建一個名為 ToDo-list 的 Lotus Notes 應用程式,此應用程式為使用者提供其任務的即時反饋和更新。
本文為您介紹整個 ToDo-List 應用程式的建立過程,還提供了應用程式範例的下載,以協助您按文章逐步操作。應用程式使用 Domino 代理來處理 網頁瀏覽器發送的 Ajax 請求,如建立和更新 Notes 文檔,還使用了一個 Domino 視圖來產生應用程式中使用的 XML。本文的目標讀者為具備 JavaScript 和 XML 知識、有一定經驗的 Notes/Domino 應用程式開發人員。
如需瞭解 Ajax 的更多內容,請參見本文 “參考資料” 一節,獲得介紹性文章。
ToDo-list 應用程式維護一份 To Do 項目的記錄,各項包含 Subject 和 Status 欄位。Subject 欄位儲存關於各項目是什麼的資訊(如圖 1 所示),Status 欄位包含一個 0 或 1,0 表示未完成的活動,1 表示已完成活動。
圖 1. Ajax 驅動的 ToDo-list 應用程式
Ajax 驅動的應用程式的力量
Ajax 驅動的應用程式可增加任何基於 Web 的應用程式的實用性,由於其額外的安全性和分類化的視圖,Lotus Domino 伺服器為富客戶機應用程式提供了出色的存放庫。
Lotus Domino 提供的設計項目使得在 Domino 平台上開發 Ajax 解決方案變得極為簡單。可輕鬆構建支援會話(出於安全性和個人化方面的考慮)的 Domino 代理來處理您的 Ajax 提交。此外,您可配置一個 Domino 視圖來提供 HTML、XML 甚至 JavaScript Serialized Object Notation(JSON)。成功的 Ajax 實現所需的一切都有。
現代 網頁瀏覽器和成熟的 Document Object Model(DOM)使為使用者建立功能豐富的應用程式比以往任何時候都要容易。例如,我們通常會在項目中包含提前鍵入或建議欄位,使用者鍵入時可在其中接收到建議,以使名稱尋找更為方便。在另外一個項目中,我們載入了一個帶有小對話方塊的門戶頁面(即 <DIV>)。各 <DIV> 使用 Ajax 調用在後端進行填充。部分對話方塊每隔 30 秒自動更新,為管理者提供來自 Enterprise Resource Planning(ERP)系統的新資訊。
第三個樣本是另外一個門戶項目,其中各對話方塊的標題列中帶有一個小小的 “Add to my page” 表徵圖。當使用者單擊此表徵圖時,一個請求將在後台發往伺服器,其中帶有使用者希望訂閱的對話方塊的相關資訊。伺服器以如下兩條訊息之一:“The box is now on your personal page” 或 “You have that box already!” 進行響應。
在所有這些應用程式中,我們都必須從指定 API 入手。指定不當的 API 會毀掉整個項目。
API
在您開始為 ToDo-List 應用程式編碼之前,必須決定客戶機和伺服器間傳輸的資訊格式。您的系統架構可選擇其所需的任意交換格式,但近來這種格式通常是 XML、JSON 或簡單文本。