axios的封装

新建network文件夹及request.js

 

 

1
2
3
4
5
6
7
8
9
10
11
import axios from 'axios'
 
export function request(config){
    //创建axios实例
    const instance = axios.create({
        baseURL: 'http://123.207.32.32:8000',
        timeout: 5000
    })
    //发生真正的网络请求
    return instance(config);
}

  

 

发送请求的代码

1
2
3
4
5
6
7
8
import {request} from './network/request'
request({
  url:'/home/data'
}).then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})

  

添加拦截器(request.js)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import axios from 'axios'
import nProgress from 'nprogress';
//引入进度条样式
import 'nProgress/nprogress.css';
//start()代表进度条开始 done()代表进度条结束
import { ElMessage } from 'element-plus'
  
export function request(config){
    //1.创建axios实例
    const instance = axios.create({
        baseURL: 'http://localhost:9090',
        timeout: 10000
    })
    //2.axios的拦截器
    instance.interceptors.request.use(config => {//请求拦截
        console.log(config)
        //进度条开始
        nProgress.start()
        //放行
        return config
    },err => {
        console.log(err)
        ElMessage.error(err)
    })
    instance.interceptors.response.use(res => {//响应拦截
        //进度条结束
        nProgress.done()
        console.log(res)
        return res.data
    },err => {
        console.log(err)
        ElMessage.error(err)
    })
    //3.发生真正的网络请求
    return instance(config);
}

  

  

 发送get请求

1
2
3
4
5
6
7
8
9
10
request({
     url: 'http://123.207.32.32:8000/home/multidata',
     method: 'get',
     params: {
       id:1,
       name:'哈哈'
     }
   }).then(res=>{
     console.log(res)
   })

 

 

 

 发送post请求  

1
2
3
4
5
6
7
8
9
10
request({
       url: 'http://123.207.32.32:8000/home/multidata',
       method: 'post',
       data: {
         id: 1,
         name: "哈哈"
       }
     }).then(res=>{
       console.log(res)
     })

 

 

  

posted @   iTao0128  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示