[Vue]5.Axios

什么是Axios

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

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

GitHub:https://github.com/axios/axios
中文文档:http://www.axios-js.com/

第一个Axios程序

1.首先创建一个json文件用来模拟

{
  "name": "hui",
  "url": "https://www.mylight1109.cn",
  "page": 1,
  "isNonProfit": true,
  "address": {
    "street": "崮云湖",
    "city": "山东济南",
    "country": "中国"
  },
  "links": [
    {
      "name": "bilibili",
      "url": "https://space.bilibili.com/435235001"
    },
    {
      "name": "mylight1109",
      "url": "https://www.mylight1109.cn"
    },
    {
      "name": "百度",
      "url": "https://www.baidu.com/"
    }
  ]
}

测试代码

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>


    <style>
        [v-clock]{
            display: none;
        }
    style>
head>
<body>

<div id="vue" v-clock>
    <div>
        {{info.name}}
        {{info.address.city}}
    div>
    <a v-bind:href="info.url">点我a>
div>



<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js">script>

<script src="https://unpkg.com/axios/dist/axios.min.js">script>
<script type="text/javascript">
    var vm = new Vue({
        el:"#vue",
        data(){
          return{
              //请求的返回参数格式,必须和json一样
              info:{
                  name: null,
                  address: {
                      street: null,
                      city: null,
                      country: null
                  },
                  url: null
              }
          }
        },
        mounted(){ //勾子函数
            axios.get('../data.json').then(response=>(this.info=response.data));
        }
        

    });
script>
body>
html>

效果:
[Vue]5.Axios_第1张图片
注:

  1. v-cloak解决页面闪烁问题(不会出现{{message}}这样的信息)
  2. 在这里使用了v-bind将a:href的属性值与Vue实例中的数据进行绑定
  3. 使用axios框架的get方法请求AJAX并自动将数据封装进了Vue实例的数据对象中
  4. 我们在data中的数据结构必须和Ajax响应回来的数据格式匹配

你可能感兴趣的:(Vue,spring,java)