AJAX 簡介
AJAX 是開發人員的夢想,因為您可以
- 從 Web 伺服器讀取資料 - 在頁面載入後
- 更新網頁而無需重新載入頁面
- 向 Web 伺服器傳送資料 - 在後臺
AJAX 示例說明
HTML 頁面
<!DOCTYPE html>
<html>
<body>
<div id="demo">
<h2>讓 AJAX 更改此文字</h2>
<button type="button" onclick="loadDoc()">更改內容</button>
</div>
</body>
</html>
HTML 頁面包含一個 <div> 部分和一個 <button>。
該 <div> 部分用於顯示伺服器資訊。
該 <button> 呼叫一個函式(如果被點選)。
該函式從 Web 伺服器請求資料並顯示它
函式 loadDoc()
function loadDoc() {
const xhttp = new XMLHttpRequest();
xhttp.onload = function() {
document.getElementById("demo").innerHTML = this.responseText;
}
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
}
什麼是 AJAX?
AJAX = Asynchronous JavaScript And XML(非同步 JavaScript 和 XML)。
AJAX 不是一種程式語言。
AJAX 僅使用以下組合:
- 瀏覽器內建的
XMLHttpRequest
物件(用於從 Web 伺服器請求資料) - JavaScript 和 HTML DOM(用於顯示或使用資料)
AJAX 是一個容易引起誤解的名稱。AJAX 應用程式可以使用 XML 來傳輸資料,但傳輸純文字或 JSON 文字同樣普遍。
AJAX 允許透過在後臺交換資料來非同步更新網頁。這意味著可以在不重新載入整個頁面的情況下更新網頁的部分內容。
AJAX 如何工作
- 1. Web 頁面中發生了一個事件(頁面載入、按鈕被點選)
- 2. JavaScript 建立了一個 XMLHttpRequest 物件
- 3. XMLHttpRequest 物件向 Web 伺服器傳送一個請求
- 4. 伺服器處理請求
- 5. 伺服器將響應發回 Web 頁面
- 6. JavaScript 讀取響應
- 7. JavaScript 執行適當的操作(如頁面更新)
現代瀏覽器(Fetch API)
現代瀏覽器可以使用 Fetch API 代替 XMLHttpRequest 物件。
Fetch API 介面允許 Web 瀏覽器向 Web 伺服器發出 HTTP 請求。
如果您使用 XMLHttpRequest 物件,Fetch 可以以更簡單的方式完成相同的事情。