第二十篇 axios使用

        上一篇内容讲到在符合W3C标准的浏览器可以直接来使用这个fetch做请求,那么使用vue呢,前面内容也提到推荐使用这个axios第三方库,axios的使用也是非常的方便的,下面来对axios进行了解,了解之后就能够结合上一篇fetch的内容进行对比,知道为啥用这个axios。

axios

Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js,本质也是对XHR的封装;同样我们通过点击按钮来发起请求,这里我们是尚未讲到在项目当中的使用,所以不用npm命令安装使用,进行script的引入使用;

页面中引入 axios :

<script src="https://cdn.jsdelivr.net/npm/axios@1.1.2/dist/axios.min.js"></script>

通过axios完成上次 fetch 所完成的效果,这里仅需要将fetch改成axios的请求方式即可;

axios.get 请求

进行请求上一篇内容所模拟请求的json数据;打印的数据res.data就是模拟的数据;

methods:{
  handleClick(){
    axios.get("fetch.json")
         .then(res=>{
                // console.log(res);
                console.log(res.data);
         })
  }
}

        将取来的数据赋值给data中的List,通过v-for指令将数据在页面中进行渲染;具体页面代码可以看上一篇内容的代码;

data:{
  List:[]  
},
methods:{
  handleClick(){
    axios.get("fetch.json")
         .then(res=>{
                console.log(res.data);
                this.List = res.data.List
         })
  }
}

以上就是一个简单的axios做get请求;

 axios.post 请求

       上一篇内容讲到做post请求时,有两种编码格式,这里重新回顾一下fetch做post请求的代码;

application/x-www-form-urlencoded

handleClick(){
    fetch("请求地址",{
            method:'POST', // 请求方式
            headers:{ "Content-Type":"application/x-www-form-urlencoded" },
            body:"name=li&age=18"
        },
    )
        .then(res=>res.json())
            .then(res=>{console.log(res);})
}

 application/json

handleClick(){
    fetch("请求地址",{
            method:'POST', // 请求方式
            headers:{ "Content-Type":"application/json" },
            body: JSON.stringify({
                name:"zs",
                age:18
            })
        },
    )
        .then(res=>res.json())
            .then(res=>{console.log(res);})
}

通过以上两端在fetch请求中的操作,可以看出需要写的东西比较多的,那么使用axios是不需要写这么多的,下面来看看axios中的post请求方法的用法:

// axios.post(参数1,参数2).then(res=>{console.log(res.data)})
// 参数1:请求地址
// 参数2:

1)axios.post("****请求地址****","name=zs&age=18")
        .then(res=>{
            console.log(res.data);
        })

    "name=zs&age=18"提交后的就是对应的是 application/x-www-form-urlencoded

2)axios.post("****请求地址****",{
        name:"zs",
        age:18
    })
        .then(res=>{
            console.log(res.data)
        })

 通过这两种方式对比就能知道axios的使用比起fetch要简便不少;

axios 小用一下

        以上的一个案例是通过我们自己模拟的数据来进行的,下面通过一些比较实在可靠的一些后端数据来做一个测试,用以下的这个API可以获取一些后端数据;

https://i.maoyan.com/api/mmdb/movie/v3/list/hot.json?ct=%E7%8F%A0%E6%B5%B7&ci=108&channelId=4

        内容的数据是比较多的,取hot数据当中的数据复制下来作为接下来要请求json的数据;这样能够去使用拿到真实数据然后进行练习;

 将数据复制给到文件当中的 axios.json文件当中来;然后通过axios.get请求相应的数据;

 点击 axios 按钮获取数据,在控制台上打印,能看到请求回来的数据相对模拟的数据更加真实;

handleClick(){
    axios.get("axios.json")
        .then(res=>{
            console.log(res);
        })
}

 通过res.data拿到我们想要的数据并简单的输出其中的一些数据;

data:{
    hot:[]
}
methods:{
    handleClick(){
        axios.get("axios.json")
        .then(res=>{
            this.hot = res.data.hot
        })
    }
}

         以上就是本篇 axios 使用的一个基本内容;结合上一篇fetch可以理解到fetch和axios的一些区别和应用,通过这两篇的内容能够对如何来发送数据请求获取响应数据有一个基础的认识!内容仅仅是基础,后续有的话会在项目当中进行详说!感谢观看!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵魂学者

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值