fetch 异步通信的未来,更简洁异步请求 API , XMLHttpRequest 即将淘汰
2018-02-03 20:41
671 查看
fetch 异步通信的未来,更简洁异步请求 API , XMLHttpRequest 即将淘汰
兼容性: fetch 还属于早期阶段,目前只有部分高版本浏览器实现该接口Chrome43+、Edge14、Firefox40+、Opera29+、Safari10+先来看一个使用 XMLHttpRequest 发送异步请求例子:
var xhr = new XMLHttpRequest() xhr.onreadystatechange = function () { if (this.readyState === 4) { if (this.status === 200) { // 成功 this.responseText } else { // 失败 this.responseText } } } xhr.open('GET', '/api/user/list', true) xhr.onerror = function () { // 发生错误 } xhr.send()
再来看一下 fetch 发送异步请求例子:
// 一个简单的 GET 请求
fetch('/api/user/list').then(response => { // response.ok 判断请求是否成功 response.json().then(data => { // 数据 }) })
// 设置参数、请求头等.. const headers = new Headers() headers.set('Content-Type', 'text/plain') fetch('/api/user/list', {method: 'GET', headers: headers}).then(response => { // response.ok 判断请求是否成功 response.json().then(data => { // 数据 }) })
Response 对象部分属性说明
属性 | 类型 | 描述 |
json | Function | 得到 json,返回 Promise 对象 |
test | Function | 得到 text,返回 Promise 对象 |
redirected | Boolean | 是否重定向了 |
body | ReadableStream | 数据流 |
bodyUsed | Boolean | 内容是否已被读取 |
headers | Headers | 返回响应头 |
status | Number | 返回状态码 |
statusText | String | 状态 |
url | String | 返回请求路径 |
ok | Boolean | 根据状态判断完成还是失败 |
redirected | Boolean | 是否重定向了 |
type | String | 类型 |
相关文章推荐
- javascript对XMLHttpRequest异步请求的面向对象封装
- 通过XMLHttpRequest发送异步请求
- 详解XMLHttpRequest(一)同步请求和异步请求
- 对XMLHttpRequest异步请求的面向对象封装
- 使用JavaScript和Ajax发出异步请求 XMLHttpRequest
- 使用JS和Ajax发出异步请求,XmlHttpRequest对象详解
- XMLHttpRequest的同步和异步请求
- AJAX 多次发送异步请求的 XmlHttpRequest 对象的设置
- 使用xmlHttprequest 发送异步请求(Ajax核心对象)
- XMLHttpRequest对象_Ajax异步请求重点(推荐)
- 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求 在 Web 请求中使用 XMLHttpRequest
- 详细解读XMLHttpRequest(一)同步请求和异步请求
- Fetch请求 vs XMLHttpRequest
- XMLHttpRequest 异步请求
- 谷歌调试axios异步请求XMLHttpRequest cannot load http问题解决
- XMLHttpRequest对象_Ajax异步请求重点
- 详细解读XMLHttpRequest(一)同步请求和异步请求
- Ajax异步请求XMLHttpRequest对象Get请求
- XMLHttpRequest API语法、函数简介