fetch.js php,react中支持fetch吗

react中支持fetch,因为fetch在reactjs中等同于XMLHttpRequest,它提供了许多与XMLHttpRequest相同的功能,但被设计成更具可扩展性和高效性。

a28fefb283ed018c80b4e5436d457fd6.png

react与fetch

fetch在reactjs中等同于 XMLHttpRequest,它提供了许多与XMLHttpRequest相同的功能,但被设计成更具可扩展性和高效性。

Fetch 的核心在于对 HTTP 接口的抽象,包括 Request,Response,Headers,Body,以及用于初始化异步请求的 global fetch。得益于 JavaScript 实现的这些抽象好的 HTTP 模块,其他接口能够很方便的使用这些功能;除此之外,Fetch 还利用到了请求的异步特性——它是基于 Promise 的。

如何在react项目中应用fetch呢?

第一步:安装

用 npm 安装的话,执行cnpm install whatwg-fetch --save即可安装。

7d9ab74deba9352e1a676785a51d20d6.png

第二步:在实际项目中的应用。

第一种get 使用。

首先要引入依赖的插件,见./app/fetch/test.js中

77be066765952ec22988c0a162d71a3a.png

然后这样就可以发起一个 get 请求。

先看我们的./app/index.jsx文件内容,他需要引用getData

ce51fc5fc328cdbd4530b7b25f750474.png

这里的fetch是引用了插件之后即可用的方法,使用非常简单。方法的第一个参数是 url 第二个参数是配置信息。

fetch 方法请求数据,返回的是一个 Promise 对象。

d6ec87f2f32c9f82a06a604874759410.png

以上代码的配置中,credentials: 'include'表示跨域请求是可以带cookie(fetch 跨域请求时默认不会带 cookie,需要时得手动指定

credentials: 'include'。这和 XHR 的 withCredentials 一样),headers可以设置 http 请求的头部信息。

第二种post使用

可以根据get请求的方法进行同理的引用插件,在我们的./app/index.jsx中,我们需要引用

c244fe11ed2b75210420faba1ce29f1e.png

然后用 fetch 发起一个 post 请求(有method: 'POST'),第一个参数是 url,第二个参数是配置信息。注意下面配置信息中的headers和

body的格式。fetch 提交数据之后,返回的结果也是一个 Promise 对象,跟 get 方法一样。

52400d596b111262019df21ed5299339.png

我们以上两个用法中,返回的Promis对象不一样,一个是res.text(),一个是res.json()。这两个方法就是将返回的 Response 数据转换成

字符串或者JSON格式,这也是 js 中常用的两种格式。

接下来我们要做的事情,其实是一个精简工作。如果每次获取数据,都向上面一样写好多代码,就太冗余了,我们这里将 get 和 post 两个方法单独抽象出来。

这两个方法抽象之后,接下来我们再用,就变得相当简单了。

第一步:提取公共部分

1af1078095ee5b8b1a71feec42677719.png

getjs部分

cfffd4dd11a0e37b51c53162b7863294.png

postjs提取部分

845ad73ebce7cf3c74c20180f4ad6bd2.png

接下来看我们的./app/index.jsx文件是如何应用的

227b2b363646bfec8440dbd03ea157db.png

接下来运行项目即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值