axios请求服务器响应1秒多,axios封装和请求响应拦截

安装axios

cnpm i axios -S

项目根目录分别新建.env.development文件和.env.production文件

//.env.development文件

#开发环境

NODE_ENV = 'development'

# api地址

VUE_APP_BASE_API = 'http://localhost:3000'

//.env.production文件

#生产环境

NODE_ENV = 'production'

# api地址

VUE_APP_BASE_API = 'http://线上接口地址'

src文件夹下新建utils文件夹,建立request.js文件

import axios from 'axios';

//根据环境 给指定的接口地址

const request = axios.create({

baseURL: process.env.VUE_APP_BASE_API,

timeout: 3000

})

//状态码返回

const codeMessage = {

201: '新建或修改数据成功。',

202: '一个请求已经进入后台排队(异步任务)。',

204: '删除数据成功。',

400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',

401: '用户没有权限(令牌、用户名、密码错误)。',

403: '用户得到授权,但是访问是被禁止的。',

404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',

406: '请求的格式不可得。',

410: '请求的资源被永久删除,且不会再得到的。',

422: '当创建一个对象时,发生一个验证错误。',

500: '服务器发生错误,请检查服务器。',

502: '网关错误。',

503: '服务不可用,服务器暂时过载或维护。',

504: '网关超时。',

};

//请求拦截

request.interceptors.request.use(

config => {

return config

},

error => {

console.log('请求拦截错误', error) // for debug

return Promise.reject(error)

}

)

//响应拦截

request.interceptors.response.use(

response => {

console.log('响应返回值', response.data);

return response.data

},

error => {

const { response } = error

return Promise.reject({ "status": response.status, "message": codeMessage[response.status] })

}

)

export default request

封装请求接口(src文件夹下新建api文件夹,新建user.js文件)

import request from '@/utils/request';

export const getUser = () =>{

return request({

url:'get_user_info',

method:'get'

})

}

使用

import { getUser} = '@/api/user'

getUser()

.then(res=>{

console.log(res);

})

.catch(err=>{

console.log(err);

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值