Vue3使用axios的配置教程详解

1.安装

npm install --save axios vue-axios

2.在src根目录创建service文件夹。然后创建axios.js

2.1在axios.js添加拦截器,请求拦截:initAxios.interceptors.request;响应拦截:initAxios.interceptors.response

import axios from "axios";

const initAxios = axios.create({
  timeout: 1800000//数据响应过期时间
})

//请求拦截器
initAxios.interceptors.request.use((config) => {
  //在发送之前做点什么
  return config
}, (error) => {
  //对请求错误做点什么
  return error
})

//响应拦截器
initAxios.interceptors.response.use((response) => {
  if (response.resultCode === 200 ) {
    return response.data
  } else {
    return {resultCode: -1}
  }
})
//导出
export default () => initAxios

3.在文件夹再创建一个service.js文件

//引入封装好的 axios
import Axios from './axios'

//实例化
const instance = Axios()

//创建需要的请求方法:get post put delete
//url:请求的接口地址
//params:请求参数
//headers:请求头
export default {
  get(url, params, headers) {
    return instance.get(url, {params, headers})
  },
  post(url, params, headers) {
    return instance.post(url, params, {headers})
  },
  put(url, params, headers) {
    return instance.put(url, params, {headers})
  },
  delete(url, params, headers) {
    return instance.delete(url, {params, headers})
  }
}

 4.再创建一个index.js

//引入封装好的 service
import service from "@/service/service";

//声明一个基础接口变量
let baseURL;

//配置开发环境
if (process.env.NODE_ENV === 'development') {
    baseURL = 'http://www.****.com:8000/';
}

// 配置生产环境
if (process.env.NODE_ENV === 'production') {
  baseURL = 'http://www.*****.com:8001/';
}

//设置请求头(如果请求头统一的话可以在axios文件设置,则无须从这里传过去)
const header = {
  Accept: 'application/json;charset=UTF-8',
}

//根据自身需求
let _service={
    getList(data) {
        const url = baseURL + 'index/getList';
        return service.post(url, data, header);
    }
}


//导出
export default _service

5.使用方法


import _service from "@/service";

_service.getList({你的参数}).then(res => {
   console.log(res)
})

附: vue3没有this.所以使用的时候直接引用就好,如果项目比较大,接口多,可以分模块定义接口,使用的时候也是分模块导入.  以admin模块接口举例

说明:因为我的项目只有post请求,我就把请求头写在post方法里面了.后续的接口定义就省去了请求头的参数.

1.admin模块,admin.js 

2.index.js 引入接口统一导出

3.vue页面引用 ,此时只有admin.js定义的接口.

4.methods方法调用接口,其中 _utils.setFormData(this.searchModel) 是我项目里自定义的一个参数格式转化,this.loadData(res) 是我项目里对响应数据统一处理的方法

总结

以上就是vue3的配置

  • 17
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Vue3中配置axios需要以下几个步骤: 1. 首先,在项目根目录下通过npm安装axiosvue-axios依赖,可以使用以下命令进行安装:`npm install --save axios vue-axios` 2. 在src根目录下创建一个service文件夹,并在该文件夹内创建一个axios.js文件。 3. 在axios.js文件中引入axios库和服务文件:`import axios from "axios";` 4. 创建一个axios实例并进行相关配置,例如设置超时时间:`const initAxios = axios.create({ timeout: 1800000 })` 5. 在axios.js文件中添加请求拦截器和响应拦截器。请求拦截器可以在发送请求前做一些操作,例如添加请求头信息。响应拦截器可以处理返回的数据,例如判断响应结果是否成功:`initAxios.interceptors.request.use(...)`,`initAxios.interceptors.response.use(...)` 6. 最后,导出这个axios实例供其他地方使用:`export default () => initAxios` 在Vue3中使用axios的步骤如下: 1. 在需要使用axios的组件或文件中引入axios服务:`import _service from "@/service";` 2. 使用axios发送请求,可以调用之前定义的接口方法,例如调用getList接口:`_service.getList({你的参数}).then(res => { console.log(res) })` 请注意,Vue3中没有this关键字,所以可以直接引用axios服务。如果项目较大,接口较多,可以将接口分模块定义,并在使用时分模块导入。例如,在admin模块中定义接口。 以上就是在Vue3中配置axios使用axios的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3使用axios配置教程详解](https://blog.csdn.net/qq_38682174/article/details/125416084)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值