js ES6 fetch 方法

39 篇文章 1 订阅

js ES6 fetch 方法

fetch 是一种 HTTP 数据请求的方式,它不是 ajax 的进一步封装,而是 XMLHttpRequest(以下简称 XHR)的一种替代方案。它是原生的 JavaScript。@Vue/cli 中,自带 fetch,可以直接使用它。

fetch 与 ajax 的区别:

  • fetch() 方法会返回的一个 promise 对象,它不会拒绝 http 的错误状态,即使响应是一个HTTP 404或者500,Promise 状态也会被标记为 resolve,但是会将 resolve 的返回值的 ok 属性设置为 false。当仅当网络故障时或请求被阻止时,才会标记为 reject。而 ajax,默认返回的是一个普通对象。
  • 在默认情况下,fetch() 方法不会接受或者发送 cookies。只有手动设置 credentials 为 include 时,才可以发送 cookies。而 ajax,允许接收和发送 cookies。
  • fetch() 方法不支持超时(timeout)处理。而 ajax,支持超时处理。
fetch('http://example.com/movies.json')
  .then(function(response) {
    return response.json();
  })
  .then(function(myJson) {
    console.log(myJson);
  });

fetch 方法接受两个参数:一个 URL 地址或一个 request 对象 和 (可选的)一个配置项对象。

fetch 方法,总是返回一个包含响应结果的 Promise 对象。当该 Promise 对象为 resolve 状态时,在其回调函数中可获取 Response 对象。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值