作用:XMLHttpRequest
(XHR) 是一种创建 AJAX 请求的 JavaScript API。它的方法提供了在浏览器和服务器之间发送请求的能力。通过 XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL,获取数据。这允许网页在不影响用户操作的情况下,更新页面的局部内容。以下是它的几种常见的用法。
1.作为构造函数来使用
作用:XMLHttpRequest()
构造器初始化一个新的 XMLHttpRequest 对象。
语法:
const XMLHttpRequest = new XMLHttpRequest();
2.作为一个对象来使用
常见的属性有以下几个:
2.1 XMLHttpRequest.readyState:标识请求状态的只读属性。有以下几个值。
- 0:初始。
- 1:open()之后。
- 2:send()之后。
- 3:请求中。
- 4:请求完成。
2.2 XMLHttpRequest.onreadystatechange:绑定readySstate改变的监听。
2.3 XMLHttpRequest.timeout:指定请求超时时间,默认为0代表没有限制。
2.4 XMLHttpRequest.status:响应状态码,比如200,404等。
2.5 XMLHttpRequest.statusText:响应状态文本。
2.6 XMLHttpRequest.responseText:指定响应数据类型,如果是' json ',得到响应后自动解析响应体数据。
2.7 XMLHttpRequest.response:响应体数据,类型取决于responseType的指定。
常见的方法有以下几个:
2.8 XMLHttpRequest.abort():中断请求
2.9 XMLHttpRequest.open():初始化一个请求,参数为:{method,url[,async]}
2.10 XMLHttpRequest.send():发送请求
2.11 XMLHttpRequest.setRequestHeader(name,value):设置请求头
2.12 XMLHttpRequest.getResponseHeader(name):获取指定名称的响应头的值
2.13 XMLHttpRequest.getAllResponseHeaders():获取所有响应头组成的字符串
3.监听事件
3.1 onabort:当request被停止时触发.
3.2 onerror:当request遭遇错误时触发。
3.3 onload:请求成功完成时触发。
3.4 onloadend:当请求结束时触发,无论请求成功(load)还是失败(abort 或 error)。
3.5 onloadstart:接受到响应数据时触发。
3.6 onprogress:当请求接收到更多数据时,周期性触发。
3.7 timeout: 在预设时间内没有接收到响应时触发。