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

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

相关推荐
XiaoLeisj36 分钟前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
励志成为嵌入式工程师2 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
逐·風2 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
捕鲸叉2 小时前
创建线程时传递参数给线程
开发语言·c++·算法
Devil枫2 小时前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
A charmer2 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq2 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
尚梦3 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
GIS程序媛—椰子3 小时前
【Vue 全家桶】6、vue-router 路由(更新中)
前端·vue.js
记录成长java4 小时前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet