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
:属性的值。EventTarget
)addEventListener(*)
removeEventListener(*)
despatchEvent(*)