【协议】XMLHttpRequest的梳理和总结

1. 前言

本篇梳理和总结一下XMLHttpRequest。

2. XMLHttpRequest原型对象的属性和方法

|------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|-------|
| 属性和方法 | 说明 | 示例 |
| new XMLHttpRequest() | 功能:创建XHR对象 输入: 输出:XHR实例化对象 | <略> |
| XMLHttpRequest.prototype .open(method, url*,*async?, user?, password?) | 功能:初始化或重新初始化一个请求 输入: method - HTTP方法,GET | POST | PUT | DELETE url - 一个DOMString,要向其发送请求的URL async - 是否异步,默认true异步 | <略> |
| XMLHttpRequest.prototype .send(body) | 功能:发送请求,如果请求是异步的,那么该方法在请求发送后立即返回 输入: Document | Blob | BufferSource | FormData | URLSearchParams | USVString | null 输出:undefined | <略> |
| XMLHttpRequest.prototype .abort() | 功能:如果请求已被发出,则立刻中止请求 输入:无 | <略> |
| XMLHttpRequest.prototype .setRequestHeader(header, value) | 功能:设置HTTP请求头的值,在open之后send之前调用 输入:header属性的名称,value属性的值 | <略> |
| XMLHttpRequest.prototype .getResponseHeader(header) | 功能:返回包含指定响应头的字符串,如果响应尚未收到或响应中不存在,则返回null 输入:一个字符串,表示要返回的报文项名称 输出:报文项的值 | null | <略> |
| XMLHttpRequest.prototype .getResponseAllHeaders() | 功能:以字符串的形式返回所有用CRLF分隔的响应头,如果没有收到响应,则返回null。 输入:无 输出:每行用\r\n分割的字符串 | null | <略> |
| XMLHttpRequest.prototype .overrideMimeType(mimeType) | 功能:覆写由服务器返回的MIME类型,用指定mimeType代替服务器指定的MIME类型,服务器没有指定默认为text/xml 输入:DOMString 输出:undefined | <略> |
| XMLHttpRequest.prototype .readyState | 功能:获取请求的状态码(只读) | <略> |
| XMLHttpRequest.prototype .responseType | 功能:一个用于定义响应类型的枚举值(只读) 输出:'' | 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | <略> |
| XMLHttpRequest.prototype .response | 功能:返回一个ArrayBuffer、Blob、Document或DOMString,依赖于 XMLHttpRequest.prototype.responseType (只读) | <略> |
| XMLHttpRequest.prototype .responseText | 功能:返回一个DOMString,其中包含该请求的响应,如果请求未成功或尚未发送,返回null(只读) 输出:DOMString | null | <略> |
| XMLHttpRequest.prototype .responseXML | 功能:返回一个Document,其中包含该请求的响应,如果请求未成功或尚未发送或不能被解析为XML或HTML,返回null(只读) 输出:XML | HTML | null | <略> |
| XMLHttpRequest.prototype .responseURL | 功能:返回一个经过序列化的响应URL,如果该URL为空,则返回空字符串(只读) 输出:URL | '' | <略> |
| XMLHttpRequest.prototype .status | 功能:返回一个无符号短整型数字,代表请求的响应状态(只读) 输出:unsigned short iint | <略> |
| XMLHttpRequest.prototype .statusText | 功能:返回一个DOMString,其中包含HTTP服务器返回的响应状态,与 XMLHttpRequest.prototype.status不同的是,它包含完整的响应状态文本,如:"200 OK"(只读) 输出:DOMString | <略> |
| XMLHttpRequest.prototype .timeout | 功能:一个无符号长整型数字,表示最大请求时间(毫秒),若超出该时间,请求会自动终止(可读写) | <略> |
| XMLHttpRequest.prototype .upload | 功能:获取上传进度(只读) | <略> |
| XMLHttpRequest.prototype .withCredentials | 功能:一个布尔值,用来指定跨域请求是否携带授权信息,如果cookie或授权header头(可读写) | <略> |
| 事件 |||
| XMLHttpRequest.prototype .onreadystatechange | 功能:XMLHttpRequest.prototype.readyState发生变化时,调用的事件处理程序 | <略> |
| XMLHttpRequest.prototype .onabort | 功能:请求被停止时触发,例如调用 XMLHttpRequest.prototype.abort() | <略> |
| XMLHttpRequest.prototype .onerror | 功能:请求出错时触发 | <略> |
| XMLHttpRequest.prototype .onload | 功能:请求成功完成时触发 | <略> |
| XMLHttpRequest.prototype .onloadstart | 功能:接收到响应数据时触发 | <略> |
| XMLHttpRequest.prototype .onloadend | 功能:当请求结束时触发,不论请求成功还是失败。 | <略> |
| XMLHttpRequest.prototype .onprogress | 功能:当请求接收到更多数据时,周期性地触发 | <略> |
| XMLHttpRequest.prototype .ontimeout | 功能:在预设时间内没有收到响应时触发 | <略> |
| 常量 XMLHttpRequest.prototype.UNSENT - 0 XMLHttpRequest.prototype.OPENED - 1 XMLHttpRequest.prototype.HEADERS_RECEIVE - 2 XMLHttpRequest.prototype.LOADING - 3 XMLHttpRequest.prototype.DONE - 4 |||

注:以上,如有不合理之处,还请帮忙指出,大家一起交流学习~

相关推荐
Myli_ing1 分钟前
HTML的自动定义倒计时,这个配色存一下
前端·javascript·html
在下不上天3 分钟前
Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复
大数据·开发语言·python
陌小呆^O^17 分钟前
Cmakelist.txt之win-c-udp-client
c语言·开发语言·udp
dr李四维19 分钟前
iOS构建版本以及Hbuilder打iOS的ipa包全流程
前端·笔记·ios·产品运营·产品经理·xcode
I_Am_Me_33 分钟前
【JavaEE进阶】 JavaScript
开发语言·javascript·ecmascript
雯0609~40 分钟前
网页F12:缓存的使用(设值、取值、删除)
前端·缓存
重生之我是数学王子43 分钟前
QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现
开发语言·c++·qt
℘团子এ43 分钟前
vue3中如何上传文件到腾讯云的桶(cosbrowser)
前端·javascript·腾讯云
Ai 编码助手44 分钟前
使用php和Xunsearch提升音乐网站的歌曲搜索效果
开发语言·php
学习前端的小z1 小时前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript