xhr.onreadystatechange=function(){ if(state!==4){ return } if (this.status === 200) { resolve(this.response); } else { reject(new Error(this.statusText)); } };
abort() : 取消当前响应,关闭连接并且结束任何未决的网络活动,其readyState 将被置为0。
getAllResponseHeaders():把 HTTP 响应头部作为未解析的字符串返回。以 CRLF (Carriage Return & Linefeed,\r\n,表示回车并换行)分割的字符串。若结果为null ,表示没有收到任何响应。
getResponseHeader(name):返回指定的 HTTP 响应头部的值。如果在返回头中有多个一样的名称,那么返回的值就会是用逗号和空格将值分隔的字符串。标题名称不区分大小写。其中name为返回标题的名称。
open(method,url,async):初始化 HTTP 请求参数,例如 URL 和 HTTP 方法,但是并不发送。已激活的请求再次调用此方法相当于调用abort()。
send():发送 HTTP 请求,使用传递给 open() 方法的参数,以及传递给该方法的可选请求体。如果是异步请求,则此方法会在请求发送后立即返回;如果是同步请求,则此方法直到响应到达后才会返回。
xhr.timeout = 毫秒数;
xhr.ontimeout = function(){};
xhr.upload.progress= function(){};
setRequestHeader(header,value):向一个打开但未发送的请求设置或添加一个 HTTP 请求头。此方法必须在 open() 方法和 send() 之间调用。若多次对同一个请求头赋值,只会生成一个合并了多个值的请求头。
参数
参考https://blog.csdn.net/qq_48276280/article/details/106561952