在AJAX中,onreadystatechange是一個事件處理函數,用于檢測并處理請求狀態的變化。當AJAX請求的readyState屬性發生變化時,就會觸發onreadystatechange事件。
下面是onreadystatechange的用法示例:
var xhr = new XMLHttpRequest();
xhr.open("GET", "example.com/api/data", true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// 請求成功,可以處理返回的數據
var response = xhr.responseText;
console.log(response);
}
};
xhr.send();
在上面的示例中,首先創建了一個XMLHttpRequest對象,并使用open方法指定了請求的類型、URL和是否異步。
然后,通過設置onreadystatechange事件處理函數,當readyState屬性發生變化時就會執行該函數。在函數中,我們檢查readyState是否為4(表示請求完成)和status是否為200(表示請求成功),如果滿足條件,就可以處理返回的數據。在上述示例中,我們簡單地將返回的數據打印到控制臺上。
最后,調用send方法發送請求。
需要注意的是,onreadystatechange事件會在請求的不同階段觸發多次,因此在處理函數中需要根據不同的readyState值進行相應的處理。