什麼是 AJAX?

非同步 JavaScript 和 XML (AJAX) 是 Web 應用程式開發技術的組合,可讓 Web 應用程式更快速地回應使用者互動。每當您的使用者與 Web 應用程式互動時 (例如當他們按一下按鈕或核取方塊時),瀏覽器就會與遠端伺服器交換資料。資料交換可能會導致頁面重新載入並中斷使用者體驗。使用 AJAX,Web 應用程式可以在背景中傳送和接收資料,以便根據需要僅重新整理頁面的一小部分。

AJAX 使用案例有哪些?

您可以使用 AJAX,在 Web 應用程式中建立各種功能。

自動完成

當使用者在搜尋列中搜尋特定關鍵字時,搜尋引擎會即時提供自動完成選項。AJAX 允許網頁將每個字元轉送至 Web 伺服器,並傳回現有頁面上的相關建議清單。

表單驗證

AJAX 允許 Web 應用程式在使用者提交表單之前,驗證表單中的特定資訊。例如,當新使用者建立帳戶時,該網頁可以在使用者移至下一區段之前,自動驗證使用者名稱是否可用。 

聊天功能

文字信差和聊天機器人使用 AJAX,在瀏覽器上顯示即時對話。AJAX 將使用者寫入的文字傳送至伺服器,並在其他使用者的聊天介面同時發佈。

社群媒體

社交媒體平台使用 AJAX 來更新使用者摘要與最新內容,而無需在瀏覽器上載入新頁面。例如,每當有人關注推文更新時,Twitter 會立即重新整理您的摘要。 

投票和評級系統

一些論壇和社交書籤網站使用 AJAX 來即時顯示特定張貼的評級或投票。例如,您可以在 Reddit 投贊成或反對票,而無需對整個頁面重新整理。

AJAX 有哪些實際範例?

下面將分享幾個現實生活中的 AJAX 運用。

AJAX 採用什麼技術?

AJAX 包含若干 Web 和程式設計技術,允許 Web 應用程式以非同步方式與 Web 伺服器交換資料。 

XHTML、HTML 和 CSS

可延伸超文字標記語言 (XHTML)、HTML 和階層式樣式表 (CSS) 都是標記語言。您可以使用它們來通知 Web 瀏覽器有關網頁內容的設計和風格。

例如,您可以使用 XHTML 或 HTML,在網頁上放置文字和影像。然後,您可以使用 CSS 變更字型類型和背景顏色。 

XML

XML 是一種程式設計語言,允許不同的應用程式交換資料。由於資料在各種應用程式中以不同的方式呈現,因此您可以使用 XML 以純文字格式將資料放入架構。AJAX 應用程式隨後即可交換並處理採用通用 XML 格式的資料。

XMLHttpRequest

XMLHttpRequest 是一個 API,允許 Web 瀏覽器與 Web 伺服器以非同步方式進行通訊。您可以使用 XMLHttpRequest 物件,以 XML 格式將部分網頁資訊傳送至伺服器。

閱讀有關 API 的內容 »

文件物件模型

文件物件模型 (DOM) 會以樹狀結構,整理 HTML 和 XML 頁面。DOM 由分支到更多子節點或物件的節點組成。該模型讓您能夠更有效地對特定頁面的程式碼進行樣式設定或修改。 

JavaScript

JavaScript 是一種指令碼語言,您可以用於為網頁提供動態內容。動態內容是指即時更新,或依據使用者互動產生的網頁資訊。例如,在 AJAX 中,JavaScript 與我們在本文中提到的其他 Web 技術搭配使用,可啟用非同步頁面更新。 

AJAX 如何運作?

當瀏覽器與伺服器交換資料時,AJAX 使用 JavaScript 和 XML 來啟用非同步呼叫。接下來,我們將解釋瀏覽器在傳統上如何交換資料,並將其與 AJAX 的資料交換作比較。

不使用 AJAX 進行資料交換

在傳統模型中,當使用者執行操作時,瀏覽器將 HTTP 請求傳送至伺服器端。Web 伺服器接收並處理請求,以及將更新的資料傳送至瀏覽器。然後,瀏覽器會重新整理包含新資料的網頁。

採用此方法,瀏覽器會重新載入整個頁面,即使請求的資料包含細微變更。此外,瀏覽器可能會傳送頻繁的請求,這會載入 Web 伺服器軟體。 

使用 AJAX 進行資料交換

AJAX 使用 JavaScript 函數,在瀏覽器上建立 XMLHttpRequest 物件,而不是更新整個頁面。然後,它會以 XML 格式編譯頁面資訊,而 XMLHttpRequest 物件會傳送至 Web 伺服器。Web 伺服器會處理請求,並以請求的資料做出回應。最後,瀏覽器會使用最新資料更新目前的螢幕,而無需重新整理頁面。 

為什麼 AJAX 更有效率?

儘管資料交換與資訊流程有相似之處,但 AJAX 比傳統的 Web 請求更有效率。使用 AJAX,瀏覽器僅根據請求的資料來更新特定的 Web 內容。它不會對頁面上的其他內容進行不必要的重新整理。這樣一來,相較於傳統的 Web 應用程式,AJAX 應用程式會更快捷、回應更及時。 

AWS 如何支援您的 Web 應用程式開發需求?

Amazon Web Services (AWS) 提供多種技術來支援您開發 Web 應用程式:

  • AWS Amplify 提供一套工具,可讓您輕鬆建置、部署和擴展 Web 和行動應用程式。您可以使用 AWS Amplify 來建立跨平台應用程式、建立易於使用的應用程式介面,以及在安全的 AWS 內容交付網路中託管 Web 應用程式。
  • AWS API Gateway 是一項全受管服務,可大規模建立、部署和管理 API。它可以在安全、靈活且透明的環境中,處理數百個同時進行的 API 呼叫。您可以使用 AWS API Gateway,針對 Web 應用程式建立 RESTful 和 HTTP API。
  • AWS Lambda 是一種無伺服器服務,可讓您在不佈建基礎設施的情況下執行程式碼。您可以視需調整應用程式的運算資源,並且只需為使用的資源付費。 

您可以使用 Amazon API Gateway,將您的 Lambda 函數公開為 RESTful API。然後,您可以新增用戶端 JavaScript 來建立動態 Web 應用程式,藉以對公開的 API 進行 AJAX 呼叫。了解如何使用 AWS Amplify、AWS Lambda 和 AWS API Gateway 來建立無伺服器應用程式。 

立即建立帳戶,開始使用 AJAX on AWS。

AWS 上的後續步驟

查看額外的產品相關資源
查閱開發人員工具服務 
註冊免費帳戶

立即存取 AWS 免費方案。

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台進行建置。

登入