【协议】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 |||

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

相关推荐
BetterChinglish1 小时前
html5中canvas图形变换transform、setTransform原理(变换矩阵)
javascript·html5·canvas·变换矩阵
是你的小橘呀1 小时前
深入解析 JavaScript 引擎与作用域机制
前端·javascript
_OP_CHEN1 小时前
C++进阶:(四)set系列容器的全面指南
开发语言·c++·stl·set·multiset·关联式容器·setoj题
不惑_1 小时前
Java 使用 FileOutputStream 写 Excel 文件不落盘?
开发语言·python
十五年专注C++开发1 小时前
Qt-VLC: 一个集成VLC的开源跨平台媒体播放库
开发语言·qt·媒体·libvlc·vlc-qt
huangql5201 小时前
前端身份识别与灰度发布完整指南
前端
风止何安啊2 小时前
深入 V8 引擎:JavaScript 执行机制与作用域模型的底层逻辑解析
javascript
你算哪颗溜溜梅2 小时前
uni.scanCode vs MpaasScan:支付宝扫码识别赢麻了,保姆级教程来咯~
javascript·uni-app
JackieDYH2 小时前
CSS实现跑马灯效果-案例
前端·css·css3
羽沢312 小时前
Vue3组件间通信——pinia
前端·javascript·vue.js