XMLHttpRequest对象

75 阅读1分钟

创建XMLHttpRequest对象

let xhr = new XMLHttpRequest()

配置请求参数

xhr.open(string method , string url , boolean async)

method

HTTP 请求方法,支持: GER POST PUT PATCH DELETE...

url

请求资源的URL

async

是否使用 异步模式 发送请求 默认为 true 且推荐在主进程中使用true 使用 false 表示使用同步模式 会影响用户体验

发送请求

只有调用send方法 请求才能正式发出 xhr.send()

监听请求相关事件

因为我们使用了 异步 的方式来发送请求 那么就需要通过 事件 回调的方式来得到相关的反馈 我们知道 一次交互会包含两个阶段: 请求(数据上传)、响应(数据下载)

响应相关的事件:

获取数据

xhr 对象还提供了许多的属性和方法 来帮助我们完成一些关键信息的获取

readyState

请求的状态码 参考: 同时还提供一个readystatechange事件来监听readyState的变化

response

返回的原始内容 取决于responseType

responseType

返回响应数据的类型 可设置 参考:

responseText

返回转换成文本类型的响应数据 类此:responseType = 'text'response的内容

status

响应状态码

statusText

响应状态文本

timeout

设置请求超过时间

upload

readyState状态码

0:代理被创建 但尚未调用open()方法

1:open()方法已经被调用

2:send()方法已经被调用 并且头部和状态已经可获得

3:下载中 responseText 属性已经包含部分数据

4:下载操作已完成

作者:阿moon
链接:juejin.cn/post/727442…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。