Ajax (非同步 JavaScript 與 XML) 入門
什麼是 Ajax?
Ajax (Asynchronous JavaScript and XML) 是一種在網頁中進行非同步請求的技術。它可以讓您在不重新載入整個頁面的情況下,與伺服器交換資料並更新部分的網頁內容。
Ajax 的運作方式
傳統的網頁請求是同步的,也就是說,當瀏覽器發送一個請求時,它必須等待伺服器的回應,才能繼續執行其他的程式碼。這會導致頁面在等待回應的過程中,完全沒有反應,給使用者帶來不好的體驗。
而 Ajax 使用非同步的方式來發送請求。當瀏覽器發送一個 Ajax 請求時,它可以繼續執行其他的程式碼,而不需要等待伺服器的回應。當伺服器的回應回來時,瀏覽器會觸發一個事件,您可以在這個事件的處理函式中,來更新您的網頁內容。
XMLHttpRequest
XMLHttpRequest
(XHR) 是一個內建在瀏覽器中的物件,它可以讓您在 JavaScript 中發送 HTTP 請求。
範例:
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.open('GET', 'https://api.example.com/data', true);
xhr.send();
fetch
API
fetch
API 是一個現代的、基於 Promise 的 API,它可以讓您更容易地發送 HTTP 請求。
範例:
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
fetch
API 比 XMLHttpRequest
更簡單、更強大,是現在建議使用的 Ajax 技術。