构造函数
XMLHttpRequest()
用来创建一个xhr对象。
属性
XMLHttpRequest.readyState
这是一个只读属性
值 | 状态 | 描述 |
---|---|---|
0 | UNSENT | 代理被创建,但尚未调用 open() 方法。 |
1 | OPENED | open() 方法已经被调用。 |
2 | HEADERS_RECEIVED | send() 方法已经被调用,并且头部和状态已经可获得。 |
3 | LOADING | 下载中; responseText 属性已经包含部分数据。 |
4 | DONE | 下载操作已完成。 |
XMLHttpRequest.onreadystatechange
当 readyState 属性发生变化时,调用一个回调方法。
var xhr= new XMLHttpRequest(),
method = "GET",
url = "https://developer.mozilla.org/";
console.log(xhr.readyState)
xhr.open(method, url, true);
xhr.onreadystatechange = function () {
console.log(xhr.readyState)
}
xhr.send();
XMLHttpRequest.response
只读属性
一个对象,其类型取决于 responseType
。responseType
允许我们手动的设置返回数据的类型。如果我们将它设置为一个空字符串,它将使用默认的"text"类型。") 的值。 responseType
要在调用 open()
初始化请求之后调用, 并且要在调用 send()
发送请求到服务器之前调用。
值 | 描述 |
---|---|
"" |
将 responseType 设为空字符串与设置为"text" 相同, 是默认类型 (实际上是 DOMString )。 |
"arraybuffer" |
response 是一个包含二进制数据的 JavaScript ArrayBuffer 。 |
"blob" |
response 是一个包含二进制数据的 Blob 对象 。 |
"document" |
response 是一个 HTML Document 或 XML XMLDocument ,这取决于接收到的数据的 MIME 类型。请参阅 HTML in XMLHttpRequest 以了解使用 XHR 获取 HTML 内容的更多信息。 |
"json" |
response 是一个 JavaScript 对象。这个对象是通过将接收到的数据类型视为 JSON 解析得到的。 |
"text" |
response 是包含在 DOMString 对象中的文本。 |
"ms-stream" |
response 是下载流的一部分;此响应类型仅允许下载请求,并且仅受Internet Explorer支持。 |
"moz-chunked-arraybuffer" |
与"arraybuffer" 相似,但是数据会被接收到一个流中。使用此响应类型时,响应中的值仅在 progress 事件的处理程序中可用,并且只包含上一次响应 progress 事件以后收到的数据,而不是自请求发送以来收到的所有数据。在 progress 事件处理时访问 response 将返回到目前为止收到的数据。在 progress 事件处理程序之外访问, response 的值会始终为 null 。 |
XMLHttpRequest.responseText
只读属性,在一个请求被发送后,从服务器端返回文本。
XMLHttpRequest.statusText
只读属性,返回一个完整状态码如404 not found!
XMLHttpRequest.timeout
设置超时时间,如果多久不响应则为超时。
XMLHttpRequestEventTarget.ontimeout
超时执行的方法
var xhr = new XMLHttpRequest();
xhr.open('GET', '/server', true);
xhr.timeout = 2000; // 超时时间,单位是毫秒
xhr.onload = function () {
// 请求完成。在此进行处理。
};
xhr.ontimeout = function (e) {
// XMLHttpRequest 超时。在此做某事。
};
xhr.send(null);
XMLHttpRequestUpload
代表上传过程。
事件 | 相应属性的信息类型 |
---|---|
onloadstart | 获取开始 |
onprogress | 数据传输进行中 |
onabort | 获取操作终止 |
onerror | 获取失败 |
onload | 获取成功 |
ontimeout | 获取操作在用户规定的时间内未完成 |
onloadend | 获取完成(不论成功与否) |
方法
XMLHttpRequest.abort()
如果该请求已被发出,XMLHttpRequest.abort() 方法将终止该请求。当一个请求被终止,它的 readyState 属性将被置为0( UNSENT )。
XMLHttpRequest.getResponseHeader(name)
返回包含指定响应头的字符串,如果响应尚未收到或响应中不存在该报头,则返回 null。
XMLHttpRequest.open()
xhrReq.open(method, url);
xhrReq.open(method, url, async);
XMLHttpRequest.getAllResponseHeaders()
获取所有请求头 string类型