XML HttpRequest

所有現代瀏覽器都有內置的 XMLHttpRequest 對象,用于從服務器請求數據。

XMLHttpRequest 對象

XMLHttpRequest 對象可用于從 Web 服務器請求數據。

XMLHttpRequest 對象是開發者的夢想,因為您能夠:

  • 更新網頁 - 在不重新加載頁面的情況下
  • 從服務器請求數據 - 在頁面已加載后
  • 從服務器接收數據 - 在頁面已加載后
  • 向服務器發送數據 - 在后臺

XMLHttpRequest 實例

當您在下面的輸入字段中鍵入字符時,XMLHttpRequest 會被發送到服務器,并返回一些名字建議(從服務器):

實例

請在下面的輸入字段中輸入名字:

Name: Suggestions: 本教程的 AJAX 章節中對上面的示例進行了解釋。

發送 XMLHttpRequest

下面是使用 XMLHttpRequest 對象的常見 JavaScript 語法:

實例

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
       // Typical action to be performed when the document is ready:
       document.getElementById("demo").innerHTML = xhttp.responseText;
    }
};
xhttp.open("GET", "filename", true);
xhttp.send();

親自試一試

例子解釋

上面的例子中的第一行創建了一個 XMLHttpRequest 對象

var xhttp = new XMLHttpRequest();

onreadystatechange 屬性指定每次 XMLHttpRequest 對象的狀態發生變化時要執行的函數:

xhttp.onreadystatechange = function()

readyState 屬性為 4 且 status 屬性為 200 時,響應就緒:

if (this.readyState == 4 && this.status == 200)

responseText 屬性以文本字符串形式返回服務器響應。

文本字符串可用于更新網頁:

document.getElementById("demo").innerHTML = xhttp.responseText;

您將在本教程的 AJAX 章節中學到有關 XMLHttpRequest 對象的更多內容。