vue3如何封装axios

Posted fengshaopu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue3如何封装axios相关的知识,希望对你有一定的参考价值。

1.下载axios 

npm install axios -S

2.下载 qs 

npm install qs -S

3.然后可以在文件夹下面创建相应的axios的文件比如index

4.然后配置

import axios from "axios";
import qs from "qs";

// axios.defaults.baseURL = ''  //正式
// axios.defaults.baseURL = 'http://test' //测试

//post请求头
axios.defaults.headers.post["Content-Type"] ="application/x-www-form-urlencoded;charset=UTF-8";
//设置超时
axios.defaults.timeout = 10000;

axios.interceptors.request.use(
  config => 
    return config;
  ,
  error => 
    return Promise.reject(error);
  
);

axios.interceptors.response.use(
  response => 
    if (response.status == 200) 
      return Promise.resolve(response);
     else 
      return Promise.reject(response);
    
  ,
  error => 
  	alert(`异常请求:$JSON.stringify(error.message)`)
  
);
export default 
  post(url, data) 
    return new Promise((resolve, reject) => 
        
      axios(
          method: 'post',
          url,
          data: qs.stringify(data),
        )
        .then(res => 
          resolve(res.data)
        )
        .catch(err => 
          reject(err)
        );
    )
  ,

  get(url, data) 
    return new Promise((resolve, reject) => 
      axios(
          method: 'get',
          url,
          params: data,
        )
        .then(res => 
          resolve(res.data)
        )
        .catch(err => 
          reject(err)
        )
    )
  
;

然后可以选择局部导入

import  ref, defineComponent, reactive  from "vue";
import headwdwdder  from "./header.vue";
import  store from '../store/index'
import axios from '../axios/index'

使用

   axios.post(store.state.url+`/wcmdActivity/findActivityList? 
            pageSize=$10&pageNum=$1`).then((res)=>
          list.table=res.data.list
      )

效果

 

以上是关于vue3如何封装axios的主要内容,如果未能解决你的问题,请参考以下文章

vue3如何封装axios

vue3如何封装axios

vue全家桶进阶之路47:Vue3 Axios拦截器封装成request文件

vue3封装axios请求

vue3封装axios请求

Vue3 抽离封装axios