axios请求方法封装.
2024-10-19 20:26:16
axios的使用上一般封装好对应的方法,ES6导出,直接调用,消息通知使用了ElementUI的Message组件。
这是一个封装了axios的Rest风格的工具类,包扩常用的POST,GET,PUT,DELETE,
在请求处理上使用统一的请求拦截处理。对返回的消息进行拦截预处理,有数据返回数据,没有返回消息。
import axios from 'axios'
import router from '../router'
import { Message } from 'element-ui'; /*
//封装网络请求方法
*/
/**
* 统一处理网络请求的响应拦截处理方式,
*/
axios.interceptors.response.use(success => {
if (success.status && success.status == 200 && success.data.status == 500) {
Message.error({ message: success.data.msg })
return;
}
if (success.data.msg) {
Message.success({ message: success.data.msg })
}
return success.data;
}, error => {
if (error.response.status == 504 || error.response.status == 404) {
Message.error({ message: '服务器被吃了( ╯□╰ )' })
} else if (error.response.status == 403) {
Message.error({ message: '权限不足,请联系管理员' })
} else if (error.response.status == 401) {
Message.error({ message: '尚未登录,请登录' })
router.replace('/');
} else {
if (error.response.data.msg) {
Message.error({ message: error.response.data.msg })
} else {
Message.error({ message: '未知错误!' })
}
}
return;
})
//post请求的封装K-v形式
let base = '';
export const postKeyValueRequest = (url, params) => {
return axios({
method: 'post',
url: `${base}${url}`,
data: params,
transformRequest: [function(data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
} return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
}
});
}
//传递json的post请求
export const postRequest = (url, params) => {
return axios({
method: 'POST',
url: `${base}${url}`,
data: params,
})
}
// put请求封装
export const putRequest = (url, params) => {
return axios({
method: 'put',
url: `${base}${url}`,
data: params,
})
}
// get请求封装
export const getRequest = (url, params) => {
return axios({
method: 'get',
url: `${base}${url}`,
data: params,
})
}
// delete请求封装
export const deleteRequest = (url, params) => {
return axios({
method: 'delete',
url: `${base}${url}`,
data: params,
})
}
最新文章
- 强大的Spring缓存技术(下)
- SSIS 数据输出列因为字符截断而失败
- bzoj 3517: 翻硬币
- Android之布局onClick属性写法规则
- web应用中web.xml配置详解
- 如何使用 EXCEL 的筛选功能
- HDU 5510 Bazinga (2015沈阳现场赛,子串判断)
- PHP7 新特性 简介
- C语言——strlen()和sizeof的区别
- RMQ(模板 ST 区间最值,频繁的间隔时间)
- Mysql 时间差(年、月、天、时、分、秒)
- FFmpeg 学习(六):FFmpeg 核心模块 libavformat 与 libavcodec 分析
- Https,Http,TCP,IP的一些理解
- html问题汇总
- python内涵段子爬取练习
- (4)网络配置及CRT远程连接
- Excel--数据分列功能
- 51nod 1351 吃点心(贪心)
- php在foreach中使用引用赋值&;可能遇到的问题(转)
- C# SqlHelper类的数据库操作