XMLHttpRequest
是一个 JavaScript 的对象,它为客户端提供了从服务器请求数据的能力,即使是在页面没有发生刷新的情况下也可以发送和接收数据。这种能力是现代Web应用中Ajax(异步JavaScript和XML)交互的基础。通过 XMLHttpRequest
对象,开发者能够更新网页的某些部分而无需重新加载整个页面。
以下是 XMLHttpRequest
的主要特点:
-
异步通信:
XMLHttpRequest
允许你执行异步HTTP请求,这意味着你可以发送一个请求并继续执行其他任务,而不必等待响应返回。
-
多种数据格式:
- 尽管名称中包含XML,但
XMLHttpRequest
也可以用于获取不同类型的数据,如JSON、HTML或文本。
- 尽管名称中包含XML,但
-
请求和响应:
- 你可以使用
XMLHttpRequest
对象的方法发送HTTP请求,并通过其属性访问HTTP响应。
- 你可以使用
-
事件监听:
XMLHttpRequest
对象提供了事件监听功能,使你能够在不同阶段的请求/响应周期中执行代码。
这是一个简单的 XMLHttpRequest
示例,该示例显示了如何创建一个新的 XMLHttpRequest
对象,发送一个GET请求,并处理响应:
// 创建一个新的 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 配置它: GET-request,URL为'/example.txt',异步
xhr.open('GET', '/example.txt', true);
// 设置一个函数来处理响应
xhr.onreadystatechange = function () {
// 请求完成
if (xhr.readyState == 4) {
// 请求成功
if (xhr.status == 200) {
alert(xhr.responseText); // 显示响应文本
} else {
alert('Error: ' + xhr.status); // 显示错误状态
}
}
};
// 发送请求
xhr.send();
在这个例子中,open()
方法用于配置请求,onreadystatechange
事件监听器用于处理服务器的响应,而 send()
方法用于实际发送请求。