您当前的位置: 首页 >  ios

杨林伟

暂无认证

  • 3浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Vue系列教程(12)- 异步通信(Axios)

杨林伟 发布时间:2021-06-24 18:04:09 ,浏览量:3

文章目录
  • 1. 引言
  • 2. Axios
    • 2.1 什么是Axios
    • 2.2 Axios案例
      • 2.2.1 创建模拟数据
      • 2.2.2 代码实现
  • 3. 小结

1. 引言

通过前面的章节,我们已经学会了vue的组件,有兴趣的同学可以参阅下:

  • 《Vue系列教程(01)- 前端发展史》
  • 《Vue系列教程(02)- Vue环境搭建、项目创建及运行》
  • 《Vue系列教程(03)- Vue开发利器VsCode》
  • 《Vue系列教程(04)- VsCode断点调试》
  • 《Vue系列教程(05)- 基础知识快速补充(html、css、js)》
  • 《Vue系列教程(06)- Vue调试神器(vue-devtools)》
  • 《Vue系列教程(07)- Vue第一个程序(MVVM模式的引入)》
  • 《Vue系列教程(08)- 基本语法》
  • 《Vue系列教程(09)- 事件绑定》
  • 《Vue系列教程(10)- Model数据内容双向绑定》
  • 《Vue系列教程(11)- 组件详解》

本文主要讲解的是Vue的异步通信框架Axios,学习之前,先贴上一张Vue的生命周期图(可以类比于Android里的Activity生命周期)。 在这里插入图片描述

2. Axios 2.1 什么是Axios

Axios是一个开源的可以用在浏览器端和node.JS的异步通信框架, 主要作用就是实现ajax异步通信,其功能特点如下:

  • 从浏览器中创建XMLHttpRequests
  • node.js创建http请求
  • 支持Promise API[JS中链式编程]
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防御XSRF(跨站请求伪造)
2.2 Axios案例 2.2.1 创建模拟数据

首先创建模拟从网络返回的json数据,data.json内容如下:

{
    "name": "码云",
    "url": "https://gitee.com/",
    "page": 1,
    "isNonProfit": true,
    "address": {
      "street": "天河",
      "city": "广州",
      "country": "中国"
    },
    "links": [
      {
        "name": "Axios中文文档",
        "url": "http://www.axios-js.com/zh-cn/docs/"
      },
      {
        "name": "百度",
        "url": "https://www.baidu.com/"
      }
    ]
  }

在这里插入图片描述

2.2.2 代码实现
DOCTYPE html>



    
    Title
    
    
    
    
    
        [v-cloak] {
            display: none;
        }
    



    
        地名:{{info.name}}
        地址:{{info.address.country}}--{{info.address.city}}--{{info.address.street}}
        点击跳转{{info.url}}
    

    
        var vm = new Vue({
            el: "#vue",
            //data:属性:vm
            data() {
                return {
                    // 请求的返回参数的格式,必须和Json字符串一样
                    info: {
                        name: null,
                        address: {
                            country: null,
                            city: null,
                            street: null
                        },
                        url: null
                    }
                }
            },
            mounted() {//钩子函数
                axios.get('data.json').then(response => (this.info = response.data));
            }
        });
    




运行结果如下: 在这里插入图片描述

当然如果如下报错,是浏览器设置的问题,解决方案https://blog.csdn.net/sanlingwu/article/details/79193213: 在这里插入图片描述

3. 小结
  • 在这里使用了v-binda:href的属性值与Vue实例中的数据进行绑定
  • 使用axios框架的get方法请求AJAX并自动将数据封装进了Vue实例的数据对象中
  • 我们在data中的数据结构必须和Ajax响应回来的数据格式匹配
关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.1913s