ajax分析

参考自MDN:XMLHttpRequest

构造函数

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只读属性
一个对象,其类型取决于 responseTyperesponseType允许我们手动的设置返回数据的类型。如果我们将它设置为一个空字符串,它将使用默认的"text"类型。") 的值。 responseType 要在调用 open() 初始化请求之后调用, 并且要在调用 send() 发送请求到服务器之前调用。

描述
"" responseType 设为空字符串与设置为"text"相同, 是默认类型 (实际上是 DOMString)。
"arraybuffer" response 是一个包含二进制数据的 JavaScript ArrayBuffer
"blob" response 是一个包含二进制数据的 Blob 对象 。
"document" response 是一个 HTML DocumentXML 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类型

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容