如何使用axios进行Vue和后端的数据交互?

axios的简单使用

Axios是一个开源的可以用在浏览器端和NodeJS的异步通信框架,它的主要作用就是实现Ajax异步通信。 1.安装axios

npm install axios vue-axios --save

2.在main.js中引入axios

import axios from axios

Vue.config.productionTip = false;
//设置默认请求的路径(http://localhost:8088为请求后端的路径)
axios.defaults.baseURL = "http://localhost:8088"
Vue.prototype.$axios = axios;

3.使用axios请求后端数据

<script>
  export default {
          
   
    name: "UserManager",
    data(){
          
   
      return{
          
   
      //声明student数组
        student:[]
      }
    },
    //vue生命周期钩子函数,用来初始数据
    mounted(){
          
   
    //初始化student
      this.getStudent();

    },
    methods : {
          
   
    //通过调用后端接口得到student集合
      getStudent(){
          
   
      //get为请求方式,请求路径为baseURL+即http://localhost:8088/student/index
      //then回调函数,res为请求返回的结果
        this.$axios.get(/student/index).then(res =>{
          
   
          console.log(res);
          //将res.data里面的数据赋值给student数组
          this.student = res.data;
        })

      },
      del(id){
          
   
        if (confirm("您确定要删除吗?")) {
          
   
        //带参用+号连接即可
          this.$axios.get(/student/delete/+id).then(res =>{
          
   
            if(res){
          
   
              for (var i = 0; i <this.student.length ; i++) {
          
   
                if(id==this.student[i].id){
          
   
                  this.removeTodo(i)
                }
              }
            }
          })
        } else {
          
   
          return false;
        }

      },

    removeTodo (index){
          
   
      this.student.splice(index, 1);
    }
    }
  }
</script>

4.vue绑定数据

<template>
  <div>
    用户首页
    <table border="1px">
      <thead>
      <tr>
        <th>
          <div><input type="checkbox"></div>
        </th>
        <th>id</th>
        <th>姓名</th>
        <th>年龄</th>
        <th>班级</th>
        <th>性别</th>
        <th>操作</th>

      </tr>
      </thead>
      <tbody>
      //使用v-for循环遍历
      <tr v-for = "stu in student" :key="stu.id">
        <td>
          <div><input type="checkbox"/></div>
        </td>
        //mustache语法{
          
   {}}获取对象属性数据
        <td>{
          
   {
          
   stu.id}}</td>
        <td>{
          
   {
          
   stu.name}}</td>
        <td>{
          
   {
          
   stu.age}}</td>
        <td>{
          
   {
          
   stu.classroom}}</td>
        <td>{
          
   {
          
   stu.sex}}</td>

        <td>
          <a title="编辑"  onclick="" href="javascript:;">编辑</a>
          <a title="删除"  href="#" @click="del(stu.id)">删除</a>
        </td>
      </tr>
      </tbody>
    </table>

  </div>
</template>
经验分享 程序员 微信小程序 职场和发展