vue调后台接口

发布于:2025-05-21 ⋅ 阅读:(15) ⋅ 点赞:(0)

1.1 什么是 axios
Axios 是一个基于 promise 的 HTTP 库,可以用来发送网络请求。它可以在浏览器和 node.js 中使用,本质上是对原生 XMLHttpRequest 的封装,符合最新的 ES 规范,支持 Promise API,能够拦截请求和响应,转换请求和响应数据,取消请求,自动转换 JSON 数据等。

1.2 安装 axios
在 Vue 项目中,可以通过 npm 安装 axios:

npm install axios

1.3 axios 的基本使用

axios.get('api/student/querystudent.do')

       .then(response => {

          console.log(response.data); // 假设返回的数据格式是json

          this.someData = response.data; // 将返回的数据存储在组件的data属性中

        })

       .catch(error => {

          console.error(error);

        });

1.4 创建实例

在项目中,可以创建多个 axios 实例,每个实例可以有不同的配置:

import axios from 'axios';

//const baseURL = process.env.VUE_APP_BASE_API_URL

const request = axios.create({

  //baseURL, // 你的API地址

  timeout: 1000,

})

拦截器用于在网络请求时,在发起请求或者响应时对操作进行处理,例如发送请求时添加网页加载的动画,或认证 token,强制用户先登录再请求数据;响应的时候,可以结束网页加载的动画,或者对响应的数据进行处理。

axios.interceptors.request.use(

  (config) => {

    // 发生请求前的一系列的处理

    console.log("开启加载动画");

    console.log("认证是否有 token,如果没有,要去登录");

    return config; // 拦截后的放行

  },

  (err) => {

    // 请求错误处理

    return Promise.reject(err);

  }

);

axios.interceptors.response.use(

  (response) => {

    // 数据回来前的一系列的处理

    console.log("关闭加载动画");

    console.log("对数据进行一些处理");

    return response.data; // 拦截后的放行,返回响应对象中的数据

  },

  (err) => {

    // 响应错误处理

    return Promise.reject(err);

  }

);

export default request;


网站公告

今日签到

点亮在社区的每一天
去签到