axios封装使用

1、新建一个文件夹api
2、api中新建一个,http.js文件,封装axios
http.js

import axios from 'axios'
import qs from 'qs'
// import { Router, Route, hashHistory } from 'react-router-dom'

// create an axios instance
const service = axios.create({
    baseURL: window.config.baseURL, // api的base_url
    timeout: 20000000000, // request timeout
    headers: {
        'Access-Control-Allow-Origin': '*',
        'Content-Type': 'application/json',
    },
    // withCredentials: true,// 是否允许带cookie这些
    // credentials: 'same-origin',
})

// POST传参序列化
service.interceptors.request.use((config) => {
    // if (config.method === 'post') {
    //     if (!config.isFormData) {
    //         config.data = qs.stringify(config.data)
    //     }
    // }
    if (localStorage.getItem('token')) {
        config.headers.token = localStorage.getItem('token')
    }
    //debugger
    return config
}, (error) => {
    return Promise.reject(error)
})

// code状态码200判断
service.interceptors.response.use((res) => {
    // console.dir(res.status);
    if (res.status !== 200) {
        return Promise.reject(res)
    }
    return res
}, (error) => {
    // 网络异常
    // console.dir(JSON.parse(JSON.stringify(error)).response.status);
    return Promise.reject(error)
})

export default service

3、新建 my.js 文件用于调用接口,抛出返回值,返回一个个函数
my.js

import request from './http';

// 获取
export function getNums(data) {
    return request({
        url: `xxx/xxx/xxx`,
        method: 'GET'
    })
}

4、调用的时候,引入my.js对应函数
5、执行方法,后面跟 then/catch,写自己的操作

// 引入
import { getNums} from 'api/mynews';

...
//使用
// data表示调用接口时要传的参数
getNums(data)
.then(res=>{
    console.log(res)
})
.catch(err=>{
    console.log(err)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值