xhr的常用属性方法整理

2022/1/1 6:07:37

本文主要是介绍xhr的常用属性方法整理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

XHR对象常用属性和方法

属性

  • readyState:HTTP 请求的状态
    • 0 UNSENT,表示请求未发送
    • 1 OPENED,请求准备发还未发
    • 2 HEADERS_RECEIVED,请求已发送,但后台未收到
    • 3 LOADING,后台正在接受,还未接收完成
    • 4 DONE,表示已接受或本次接收失败
  • responseText:响应体(不包括头部)
  • responseXML:对请求的响应,解析为 XML 并作为 Document 对象返回。
  • status:由服务器返回的 HTTP 状态代码,如 200 表示成功
  • onreadystatechange:指向一个回调函数,当页面加载状态发生改变时调用,例:
xhr.onreadystatechange=function(){
  if(state!==4){
    return
  }
  if (this.status === 200) {
    resolve(this.response);
  } else {
    reject(new Error(this.statusText));
  }
};
  • statusText:这个属性用名称而不是数字指定了请求的 HTTP 的状态代码。也就是说,当状态为 200 的时候它是 "OK",当状态为 404 的时候它是 "Not Found"。

方法

  • 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() 之间调用。若多次对同一个请求头赋值,只会生成一个合并了多个值的请求头。

参数

  • method
    使用的HTTP方法,例如GET、POST等。
  • url
    String类型的参数,具体为一个UTF-16字符串,(默认为当前页地址)发送请求的地址。
  • async
    Boolean类型的参数,默认设置为true,表示为异步请求,若为false,则表示同步请求。当async为true时,需规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数。当async为false 时,不编写 onreadystatechange 函数,将代码放到send()语句的后面。
  • header
    设置头的名称。
  • value
    设置头的值。

参考https://blog.csdn.net/qq_48276280/article/details/106561952



这篇关于xhr的常用属性方法整理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程