【vue+axios】简单项目的简单封装和运用

1、安装axios和qs:
vue和后台交互获取数据通常使用axios库
qs.stringify(data)可以解决data数据格式问题

npm install --save axios vue-axios qs

2、封装axios:
我是src下创建两个文件夹:api和utils
api用来放接口数据
utils用来放封装的公共方法  

 

3、request.js:

 1 import axios from 'axios';
 2 const service = axios.create({
 3     // process.env.NODE_ENV === 'development' 来判断是否开发环境
 4     // easy-mock服务挂了,暂时不使用了
 5     // baseURL: 'https://www.easy-mock.com/mock/592501a391470c0ac1fab128',
 6     timeout: 5000
 7 });
 8 service.interceptors.request.use(
 9     config => {
10         return config;
11     },
12     error => {
13         console.log(error);
14         return Promise.reject();
15     }
16 );
17 service.interceptors.response.use(
18     response => {
19         if (response.status === 200) {
20             return response.data;
21         } else {
22             Promise.reject();
23         }
24     },
25     error => {
26         console.log(error);
27         return Promise.reject();
28     }
29 );
30 export default service;

4、api.js:

 1 // api:'http://localhost:8080/swagger-ui.html'
 2 import qs from 'qs'
 3 import request from '../utils/request';
 4 // 这里写个接口地址 下面直接用就行
 5 let basurl = 'http://127.0.0.1:8080'
 6 // 然后get/post啥的直接写就行: 
 7 export const DeleteCourse = query => {
 8     return request({
 9         url: basurl+'/teacher/deleteCourse',
10         method: 'post',
11         data: query
12     });
13 };
14 export const FindCourse = query => {
15     return request({
16         url: basurl+'/teacher/findCourse',
17         method: 'get',
18         params: query
19     });
20 };

5、运用:

1 import {FindCourse} from '@/api/index';
1 async getList(){
2     await FindCourse(this.searchFilter).then(res=>{
3       this.tableData=res.data;
4     })
5 },
posted @ 2020-11-25 17:24  栀妹儿  阅读(248)  评论(0编辑  收藏  举报