Axios

什么是Axios?

一个可以用在浏览器端和NodeJS的异步通信框架,主要作用就是实现Ajax异步通信。

官方网站:

http://www.axios-js.com

Axios 功能特点

  • 从浏览器中创建XMLHttpRequests。
  • 从nodejs创建Http请求。
  • 支持Promise API
  • 拦截请求和响应。
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防御XSRF(跨站请求伪造)

代码实现-显示全部JSON数据

<div id="vue">

</div>

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
    var vue = new Vue({
        el: '#vue',
        mounted(){  
            //链式编程:以点的方式连接语句
            axios.get('../data.json').then(Response=>(console.log(Response.data)));
        }
    });
</script>
  • mounted()称为钩子函数,类似AOP,可以将一段函数横切进Vue的声明周期。
  • 利用类似于Ajax的axios获取JSON数据,然后返回一个响应,响应的内容是JSON的数据。

效果呈现

{name: "恨劫", url: "http://baidu.com", page: "1", isNonProfit: "true", address: {…}, …}
address: {street: "兴发路", city: "辽宁大连", country: "中国"}
isNonProfit: "true"
links: Array(3)
0: {name: "B站", url: "https://www.bilibili.com/"}
1: {name: "4399", url: "https://www.4399.com/"}
2: {name: "百度", url: "https://www.baidu.com/"}
length: 3
__proto__: Array(0)
name: "恨劫"
page: "1"
url: "http://baidu.com"

网络抓包

image-20210412082559797.png

由此可见:axios 实现的是Ajax的异步通信

代码实现-按照格式部分显示json

<div id="vue">
    <!--{{}}绑定后才能被vue找到-->
    <div>{{info.name}}</div>
    <div>{{info.address}}</div>
    <!--v-bind:绑定后才能被vue找到-->
    <a v-bind:href="info.url">点我</a>
</div>

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
    var vue = new Vue({
        el: '#vue',
        data(){ //是data方法,区别与data属性
            return{
                //请求返回的参数格式,必须和JSON字符串一样,可以不写
                //return的是一个格式,并不是真正的数据
                info:{
                    name: null,
                    url: null,
                    address: {
                        street: null,
                        city: null,
                        country: null
                    }
                }
            }
        },
        mounted(){  //钩子函数,类似AOP,可以横切进vue的声明周期
            //链式编程:以点的方式连接语句
            //获取一个json文件,返回数据给info
            axios.get('../data.json').then(Response=>(this.info = Response.data));
        }
    });
</script>
  • 首先通过 axios.get 请求获取json文件,将json数据返回给info
  • data() 方法会将传进来的JSON数据自定义格式后返回
    • 这里返回的参数格式必须和JSON字符串中的key名字一样。
    • 返回的是一个格式,并不是真正的数据。
  • 通过对html标签的绑定,来显示json数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值