Vue:Axios异步通信

什么是axios

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

Axios特性

  • 从浏览器中创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换 JSON 数据
  • 客户端支持防御 XSRF

案例

<!--第一步引入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--引入axios.js-->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  • json数据
{
	"code": 0,
	"msg": "",
	"count": 15,
	"data": [
		{
			"logId": "1",
			"url": "https://gitee.com/layuicms/layuicms2.0",
			"method" : "GET",
			"ip": "192.169.39.11",
			"timeConsuming":"125",
			"isAbnormal": "正常",
			"operator": "驊驊龔頾",
			"operatingTime": "2017-04-14 00:00:00"
		},
		{
			"logId": "2",
			"url": "https://gitee.com/layuicms/layuicms2.0",
			"method" : "POST",
			"ip": "192.169.39.11",
			"timeConsuming":"89",
			"isAbnormal": "异常",
			"operator": "驊驊龔頾",
			"operatingTime": "2017-04-14 00:00:00"
		},
		{
			"logId": "3",
			"url": "https://gitee.com/layuicms/layuicms2.0",
			"method" : "GET",
			"ip": "192.169.39.11",
			"timeConsuming":"125",
			"isAbnormal": "正常",
			"operator": "admin",
			"operatingTime": "2017-04-14 00:00:00"
		}
	]
}
  • 请求json数据
<script>
    /*第二步创建Vue并绑定对象*/
    var vm=new Vue({
        el:"#app",
        /*Model层 :数据*/

        /*注意:data属性和data方法不一样*/
      /*  data:{
            message:'Vue hello!',

        }*/
      data(){  /*返回json的数据内容*/
          return{
              info:{
                  count:null,
                  data:[{
                      logId:null,
                      url:null,
                      method:null,
                      ip:null,
                      timeConsuming:null,
                      isAbnormal:null
                  }]
              }
          }
      },
        mounted(){  /*请求json数据*/
            axios.get('../logs.json').then(response=>(this.info=response.data));
        }
    });
</script>
  • 渲染数据
<div id="app" v-clock>
    {{info.count}}<!--//取单个值-->
    <li v-for="item in info.data"><!--取数组对象的值-->
        {{item.logId}}
        <a v-bind:href="item.url">点击</a><!--使用v-bind绑定数据赋值-->
        {{item.method}}
        {{item.ip}}
        {{item.timeConsuming}}
    </li>

</div>
  • 解决模板闪烁问题:
<!--v-clock解决闪烁问题-->
<style>
    [v-clock]{
        display: none;
    }
</style>

截图:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值