XMLHttpRequest API

构造方法

XMLHttpRequest():初始化XMLHttpRequest对象。

属性

onreadystatechange:当readyState属性发生变化,会调用此属性对应的处理函数。

readyState:返回xhr所处状态。

XMLHttpRequest API_第1张图片

状态 描述
0 UNSENT 代理被创建,但尚未调用open()方法
1 OPENED open()方法已被调用
2 HEADERS_RECEIVED send()方法已经被调用,已收到响应头
3 LOADING 正在接收响应体,如果responseTypetext或空,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请求,为falsesend()方法将被阻塞,默认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(*)

你可能感兴趣的:(知识点)