构造方法
XMLHttpRequest():初始化XMLHttpRequest对象。
属性
onreadystatechange:当readyState属性发生变化,会调用此属性对应的处理函数。
readyState:返回xhr所处状态。

| 值 | 状态 | 描述 |
|---|---|---|
0 | UNSENT | 代理被创建,但尚未调用open()方法 |
1 | OPENED | open()方法已被调用 |
2 | HEADERS_RECEIVED | send()方法已经被调用,已收到响应头 |
3 | LOADING | 正在接收响应体,如果responseType为text或空,responseText拥有部分响应数据 |
4 | DONE | 已完成请求操作 |
response:返回响应的正文,数据类型由responseType决定。
reponseText:仅当responseType为""或"text"时可用,类似response属性,返回响应的正文。
responseXML:仅当responseType为""、"text"或"document"时可用,类似response,返回响应的Document类型的正文。
responseType:响应数据的类型,允许在调用send()前主动设置返回数据的类型。默认为"text"类型。
| 值 | 描述 |
|---|---|
"" | 默认值,同"text" |
"arraybuffer" | 包含二进制数据的ArrayBuffer对象 |
"blob" | 包含二进制数据的Blob对象 |
"document" | HTML Document或XML XMLDocument对象 |
"json" | 通过JSON解析得到的JavaScript对象 |
"text" | 普通字符串 |
responseURL:返回响应的序列化URL,如果URL为空则返回空串。URL不包含锚点#后面的内容。如果有重定向,返回最终的URL。
status:返回响应状态码,请求完成前或请求发生错误,返回0。
statusText:返回响应状态,与status不同的是,它包括响应状态的整个文本(例如,“200 OK”)。
timeout:设置超时时间,以毫秒为单位。默认0,不超时。
ontimeout:继承自XMLHttpRequestEventTarget,请求超时时调用。
upload:返回XMLHttpRequestUpload对象。可以绑定事件追踪上传进度。
| 事件 | 信息类型 |
|---|---|
onloadstart | 获取开始 |
onprogress | 数据传输进行中 |
onabort | 获取操作终止 |
onerror | 获取失败 |
onload | 获取成功 |
ontimeout | 超时 |
onloadend | 获取完成(成功或失败) |
withCredentials:用来设置跨域的请求是否应该使用证书(如cookie或头部授权)。
属性(继承自XMLHttpRequestEventTarget)
onabort:请求被终止时调用,例如abort()被调用时。
onerror:请求发生错误时被调用。
onloadstart:请求开始加载数据时调用。
onprogress:请求加载数据中调用。
onload:请求成功完成时调用。
ontimeout:请求超时时调用。
onloadend:请求完成时调用。
方法
abort():终止请求,readyState属性将被置为0。
getAllResponseHeaders():获取响应头,返回以\r\n分隔的字符串。
getResponseHeader():获取指定的响应头。
语法:
getResponseHeader(name);
参数:
name:请求头。
open():初始化一个请求。
语法:
open(method, url);
open(method, url, async);
open(method, url, async, user);
open(method, url, async, user, password);
参数:
method:要使用的HTTP方法。url:目标URL地址。async:是否异步执行HTTP请求,为false时send()方法将被阻塞,默认true。user:用户名,默认null。password:密码,默认null。
overrideMimeType():强制指定MIME类型。
语法:
overrideMimeType(mimeType);
参数:
mimeType:指定的MIME类型,如果服务器没有指定类型,默认"text/xml"。
send():
语法:
send();
send(data);
参数:
data:请求体。
setRequestHeader():设置请求头。Accept默认为*/*。
语法:
setRequestHeader(header, value);
参数:
header:属性的名称。value:属性的值。
本文详细介绍了XMLHttpRequest对象的构造方法、属性、事件及方法,包括如何初始化、设置响应类型、发送请求等关键步骤,并解释了readyState的状态含义及其变化触发的事件。
581

被折叠的 条评论
为什么被折叠?



