首页 > 其他分享 >axios与fetch

axios与fetch

时间:2023-03-24 21:34:46浏览次数:36  
标签:body www axios console log Fetch fetch

axios

  axios是什么

    axios是一个基于PRominse的HTTP库,可以用在浏览器和node.js中

    第三方Ajax库
    http://www.axios-js.com/zh-cn/docs/

 

  axios的基本用法

    

    

 

    

     

 

     

 

       

 

 

       

 

       

 

               

  

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>axios</title>
    </head>
    <body>
        <!-- <script src="https://unpkg.com/axios/dist/axios.min.js"></script> -->
        <script src="https://unpkg.com/[email protected]/dist/axios.min.js"></script>
        <script>
            //1.axios是什么
            //axios是一个基于PRominse的HTTP库,可以用在浏览器和node.js中
            //第三方Ajax库

            //http://www.axios-js.com/zh-cn/docs/

            //2.axios的基本用法
            //引入axios
            //console.log(axios);

            const url = 'https://www.imooc.com/api/http/search/suggest?words=js'
            // axios(url,{
            //     method:'post',
            //     //请求时的头信息
            //     headers:{
            //         'Content-Type':'application/x-www-form-urlencoded'
            //         /* 'Content-Type':application/JSON */
            //     },
            //     //通过请求头携带的数据
            //     params:{
            //         username:'lyw'
            //     },
            //     //通过请求体携带的数据
            //     // data:{
            //     //     age:18,
            //     //     sex:'male' 
            //     // }

            //     data:'age=18&sex=male',

            //     //timeout:10

            //     //withCredentials:true

            //     }).then(Response =>{
            //         console.log(Response);
            //         console.log(Response.data.data);
            //     }).catch(err => {
            //         console.log(err);
            //     });
            // axios.get(url,{
            //     params:{
            //         username='lyw'
            //     }
            // })
            // .then(Response => {
            //     console.log(Response);
            // });
            
            axios.post('https://www.imooc.com/api/http/search/suggest?words=js',{
                username:'alex'
            }).then(Response => {
                console.log(Response);
            }).catch(err =>{
                console.log(err);
            });
            
            // axios.put()
            // axios.delete()
        </script>
    </body>
</html>

fetch

  

1.Fetch是什么
Fetch也是前后端通信的一种方式
Fetch是ajax(xmlhttprequest)的一种替代方案,它是基于promise的
Ajax的兼容性比Fetch好,同时Fetch原生没有提供abort和timeout

2.Fetch的基本用法

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Fetch</title>
    </head>
    <body>
        <script>
                // Fetch
                // 1.Fetch是什么
                // Fetch也是前后端通信的一种方式
                // Fetch是ajax(xmlhttprequest)的一种替代方案,它是基于promise的
        
                // Ajax的兼容性比Fetch好,同时Fetch原生没有提供abort和timeout
        
                // 2.Fetch的基本用法
                // fetch调用后返回的是promise对象,因为它是基于promise
                const url = 'https://www.imooc.com/api/http/search/suggest?words=js';
        
                // body: (...)  body数据流 只能读取一次
                // bodyUsed: false   是否读取的标志,读取后为false
                // ok: true
                // status: 200  状态码
                // statusText: "OK"  状态文本
                // type: "cors"
                // url: "https://www.im
        
        
                // 第二个参数用来设置fetch
                // 还可以传formdata数据  body:fd
                const fd=new FormData();
                fetch(url, {
                        method: 'post',
                        body: 'username=alex&age=18',
                        // 如果想传json格式要设置stringify
                        // body:JSON.stringify({username:'alex'}),
                        headers: {
                            'Content-Type': 'application/x-www-form-urlencoded'
                            //    'Content-Type': 'application/json'
                        },
                        // 如果要跨域资源共享要设置cors,但是默认都是cors
                        mode:'cors',
                        // 跨域是否携带cookie 不是布尔值要携带需要设置成字符串的include
                        credentials:'include'
                    })
                    .then(response => {
                        console.log(response);
                        // body/bodyUsed  body请求体  
                        // body 只能读一次,读过之后就不让再读了,bodyUsed变成true
        
                        // ok
                        // 如果为 true,表示可以读取数据,不用再去判断 HTTP 状态码了
                        if (response.ok) {
                            // response.json是读取body的数据,那么返回后是一个promise对象,需要在then中输出
                            return response.json(); //返回的是json数据
                            // return response.text(); 返回的是文本类型
                        } else {
                            throw new Error(`HTTP CODE异常${response.status}`);
                        }
                    }).then((data => {
                        console.log(data);
                    }))
                    .catch(err => {
                        console.log(err);
                    })
            </script>

    </body>
</html>

标签:body,www,axios,console,log,Fetch,fetch
From: https://www.cnblogs.com/x3449/p/17253398.html

相关文章

  • 基于vue框架axios网络请求封装
    原因axios是网络请求的第三库,为了防止降低对第三库的依赖性,所以将axios请求封装为函数,方便后期代码的维护安装npminstallaxios封装在目录结构src文件夹下创建n......
  • Axios学习(一)axios中post的body与query传参区别及使用总结
    踩坑描述最近在vue项目开发中遇到了一个axios请求方面的问题,post请求传单个参数的时候,按照post请求方式传参但是接口报错,在swagger上面测试后发现接口是没有问题的。踩坑......
  • vue-cli 初始化创建 vue2.9.6 项目路由守卫、封装axios、vuex
    阅读目录Vue如何封装Axios请求1安装axios2封装代码axios应用方式Vue中的路由守卫使用演示1全局守卫2组件级守卫3单个路由独享的守卫4官网整个路由守卫被触发流程的......
  • javaweb——使用axios和vue改造书城项目的购物车
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾由于是多个视频内容混合在一起,因此只放了第一个链接视频链接代码示例index......
  • Axios的快速学习
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾由于是多个视频内容混合在一起,因此只放了第一个链接视频链接知识点Axios......
  • axios对后端请求统一封装及全局调用配置
     以下为个人项目笔记:  两个文件如下:文件【main.js】import{createApp}from'vue'importAppfrom'./App.vue'importrouterfrom'./router'//导......
  • axios网络请求
     ?问题:如何添加token,解决鉴权问题 方案:通过登录页面,发送请求,获取到token值,并把token值存储(localStorage、sessionStorage、cookieStore),示例如下:<template>  <e......
  • axios文件下载!!!!
    前端download(){debugger;this.loading=true;axios.post('http://localhost:8081/brand_case/dao.do?method=ex......
  • Fetch 基本操作 Get Post Delete Put
    //删除请求asyncfunctionDeleteModel(model:Customer){leturl=`http://localhost:57679/api/Customers/${model.id}`awaitfetch(url,{method:'dele......
  • 在Vue中发起axios请求成功,却被catch捕捉返回Network Error
    前端发起请求成功,后台接收处理返回,却被axios的catch捕获,没有走then函数。  最后添加了headers配置成功解决,如上,附上axios接口配置中文文档:axios中文文档|axios中文网......