首页 >web前端 >前端问答 >es6中fetch的用法是什么

es6中fetch的用法是什么

WBOY
WBOY原创
2022-05-06 18:10:023074浏览

es6中,fetch用于发起远程资源的请求,是提供跨网络异步获取资源的方法;该方法被定义在BOM的window对象中,返回一个Promise对象,语法“fetch(url,配置对象).then(function(response){})”。

es6中fetch的用法是什么

本教程操作环境: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地址&#39;http://api.yytianqi.com/air?city=CH010100&key=2c5br4sgmguremgg&#39;
        //https://api.douban.com/v2/book/1220562?callback=func
       return fetch(&#39;http://localhost:3001/getdata&#39;)
            .then(function (response) {
                console.log(response);
                //promise对象返回
                return response.json();
            })
    }
    getData().then(function (data) {
        console.log(data);
    })
</script>

【相关推荐:javascript视频教程web前端

以上是es6中fetch的用法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn