es6中,fetch用于发起远程资源的请求,是提供跨网络异步获取资源的方法;该方法被定义在BOM的window对象中,返回一个Promise对象,语法“fetch(url,配置对象).then(function(response){})”。
本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。
es6中fetch的用法是什么
fetch的基本语法
fetch(url,init).then(function(response) { } )
es6 fetch怎么使用?JavaScript
fetch的参数说明
-
fetch接收两个参数,第一个为地址且必填,第二个为配置对象可选。
-
如果是简单的无参数get请求,那么可以不要第二个参数(默认为get请求),当然也可以加上来对此fetch进行一些说明
-
第二个参数包含请求类型,发送数据,headers,模式等
-
fetch方法返回的也是一个promise对象,我们只能使用then来获取返回数据,
-
我们需要两次then才能对后台返回得到数据进行处理,在第一个then里面return result.text(), 或者 return result.json(), 然后第二个参数里面才能真正的获取到返回的具体值,并且对其进行逻辑处理
-
如果要判断请求是否失败,那么请在第一次的then里面判断,那里面为请求数据对象。
Fetch API提供了一个 JavaScript接口,用于访问和操纵HTTP管道的部分,例如请求和响应。它还提供了一个全局 fetch()方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。
这种功能以前是使用 XMLHttpRequest实现的。Fetch提供了一个更好的替代方法,可以很容易地被其他技术使用,例如 Service Workers。Fetch还提供了单个逻辑位置来定义其他HTTP相关概念,例如CORS和HTTP的扩展。
Fetch API提供了一个fetch()方法,它被定义在BOM的window对象中,你可以用它来发起对远程资源的请求。 该方法返回的是一个Promise对象,让你能够对请求的返回结果进行检索。
fetch只支持跨域CORS 不支持JSONP跨越
<script> //fetch发送数据 //支持CORS跨域,没有办法接受jsonp数据 function getData() { //支持 cors跨域url地址'http://api.yytianqi.com/air?city=CH010100&key=2c5br4sgmguremgg' //https://api.douban.com/v2/book/1220562?callback=func return fetch('http://localhost:3001/getdata') .then(function (response) { console.log(response); //promise对象返回 return response.json(); }) } getData().then(function (data) { console.log(data); }) </script>
【