AJAX 的全稱是什麼?
簡介
AJAX(非同步 JavaScript 和 XML)是一套用於建立快速且動態網頁的 Web 開發技術。
花點時間想象一下你在 Google 上進行搜尋。當你輸入正確的搜尋條件時,搜尋框中通常會顯示各種可能性。它們的來源是什麼?絕對不是從客戶端的角度。這允許使用者在無需重新載入頁面的情況下成功地與伺服器通訊。還有很多類似的例子都可以被認為是 Ajax 的應用。簡而言之,Ajax 就是讓所有這些都能夠運作的關鍵。
AJAX 的定義和解釋
AJAX 是非同步 JavaScript 和 XML的簡稱。AJAX 是一種新技術,使開發人員能夠建立更有效、更快速和更具互動性的 Web 應用程式。它使用 XML、HTML、CSS 和 Java Script。
Ajax 結合使用文件物件模型和 JavaScript,以及 XHTML 用於內容和 CSS 用於呈現,以顯示動態內容。
當用戶使用 AJAX 提交表單時,JavaScript 會向伺服器發出請求,解碼結果並重新整理當前螢幕。
伺服器資料可以以任何格式檢索,包括純文字,但最常用的是 XML。
AJAX 是 Web 瀏覽器的一項功能,可以在沒有 Web 伺服器的情況下執行。
在使用者使用應用程式期間,客戶端程式可能會繼續在後臺執行並向伺服器發出資料請求。
AJAX 的歷史和演變
在 2005 年之前,建立客戶端和伺服器之間的連線非常具有挑戰性。為了將伺服器資料傳輸到客戶端,開發人員使用隱藏的框架。然而,James Garrett 的一篇名為“AJAX:Web 應用程式的一種替代方法”的文章改變了這一現狀。微軟率先推出了動態 HTML 的文件物件模型 (DOM),這是一種新型的傳統標記語言。
DOM 動詞於 1997 年首次引入,但從未被採納為標準。現在,DOM 已經成為 Ajax 的一個重要組成部分。在 HTML iframe 獲得全新元素的同一年,DOM 也被標準化了。令人驚喜的是,JavaScript 和 DOM 可以用來快速生成這樣的 iframe。Internet Explorer 於 1996 年首次引入了 iframe。它具有非同步下載或獲取內容的功能。
1998 年,Microsoft Outlook Web Access 團隊建立了 XML Http Request 指令碼物件。它首次出現在 MSXML 庫的第二個版本中,該版本於 1999 年 3 月與 Internet Explorer 5.0 一起釋出。目前,第一個 XML HTTP 請求表單可在微軟的 Internet Explorer 7 中使用。
谷歌在釋出 Gmail(2004 年)和 Google Maps(2005 年)的同時,也釋出了一個全面的瀏覽器來支援 Ajax 相容性。Kayak.com 的公開測試版於 2004 年 10 月釋出,其開發者當時稱之為“XML HTTP 東西”,是當時最廣泛使用的電子商務形式之一。為了支援 Google Pages 中使用的技術,James Garrett 於 2005 年 2 月 18 日在一篇名為“Ajax:Web 應用程式的一種替代方法”的文獻中首次創造了“AJAX”這個名稱。
AJAX 中使用的關鍵技術和元件
Ajax 是一組相關技術的集合,而不是一項單一的技術。AJAX 技術包括:
CSS、HTML 和 XHTML − 這些技術用於顯示內容和樣式。它主要用作呈現工具。
DOM − 它用於互動式資料顯示和動態資料顯示。
XML 或 JSON − 用於在伺服器和客戶端之間傳輸資料。XML 類似於 JSON(JavaScript 物件表示法),但 JSON 更快且更簡潔。
XMLHttpRequest − 一個用 JavaScript 編寫的物件,用於與伺服器進行非同步通訊。
JavaScript − 它用於連線上述技術。它本身主要用於客戶端驗證。
AJAX 在 Web 應用程式中的工作原理
AJAX 使用 XMLHttpRequest 物件與伺服器通訊。讓我們使用下面的示例來嘗試理解 Ajax 的流程或功能。

AJAX 的工作原理
當 Web 頁面上發生某個操作(例如載入頁面或單擊按鈕)時,JavaScript 會建立一個名為 XMLHttpRequest 的物件。
XMLHttpRequest 物件用於向 Web 伺服器傳送 HTTP 請求。
伺服器響應請求。
Web 伺服器響應 Web 頁面。
JavaScript 解釋響應。
JavaScript 執行必要的操作(例如頁面更新)。
AJAX 的優點和缺點
以下是使用 AJAX 的優點
應用程式可以選擇在沒有資料的情況下呈現,並在從伺服器獲取資料後新增資料。
為應用程式開發人員提供平臺獨立性。
頁面無需重新載入即可更改特定區域。
以下是使用 AJAX 的缺點−
如果使用者的瀏覽器不支援 JavaScript 或 XMLHttpRequest,或者停用了此功能,則他們將無法正常使用依賴 Ajax 的頁面。
由於存在大量伺服器查詢,因此必須有更多客戶端資料消耗。
如果只有一個請求失敗,則整個頁面可能無法載入。
結論
Ajax 是一組用於構建非同步 Web 應用程式的客戶端 Web 開發技術。Ajax 允許 Web 應用程式非同步地從伺服器傳送和接收資料,而不會改變頁面的外觀或行為。AJAX 現在是最有用的富網際網路應用程式 (RIA) 技術。然而,並非所有瀏覽器都支援 AJAX,並且它受 JavaScript 支援,JavaScript 難以管理和排查故障。
常見問題
Q1. AJAX 有哪些安全問題?
答:
可以讀取 AJAX 原始碼。
攻擊者可以將指令碼新增到系統中。
Q2. 解釋 AJAX 中回撥函式的功能。
答:回撥函式將函式作為引數傳遞給另一個函式。如果網站上有多個 AJAX 任務需要完成,我們可以編寫一個函式來完成 XMLHttpRequest,並編寫一個回撥函式來完成每個 AJAX 操作。
Q3. 給出一些 AJAX 的示例。
答:以下列出了一些使用 AJAX 的知名網站:
Google Maps
Google Maps 的使用者可以拖動整個地圖,而無需單擊按鈕。
Google Suggest
當您輸入內容時,Google 會建議單詞。您可以使用箭頭鍵瀏覽結果。
Gmail
根據 Google 的 Web 郵件服務,可以使電子郵件更具邏輯性、有效性和價值。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP