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,
})
}

最新文章

  1. 强大的Spring缓存技术(下)
  2. SSIS 数据输出列因为字符截断而失败
  3. bzoj 3517: 翻硬币
  4. Android之布局onClick属性写法规则
  5. web应用中web.xml配置详解
  6. 如何使用 EXCEL 的筛选功能
  7. HDU 5510 Bazinga (2015沈阳现场赛,子串判断)
  8. PHP7 新特性 简介
  9. C语言——strlen()和sizeof的区别
  10. RMQ(模板 ST 区间最值,频繁的间隔时间)
  11. Mysql 时间差(年、月、天、时、分、秒)
  12. FFmpeg 学习(六):FFmpeg 核心模块 libavformat 与 libavcodec 分析
  13. Https,Http,TCP,IP的一些理解
  14. html问题汇总
  15. python内涵段子爬取练习
  16. (4)网络配置及CRT远程连接
  17. Excel--数据分列功能
  18. 51nod 1351 吃点心(贪心)
  19. php在foreach中使用引用赋值&可能遇到的问题(转)
  20. C# SqlHelper类的数据库操作

热门文章

  1. 计算机网络OSI模型
  2. MySQL性能优化:MySQL中的隐式转换造成的索引失效
  3. Linux 批量安装依赖
  4. SQL Server 中数据查询注意事项
  5. Alpha阶段中间产物提交入口
  6. 1.2 UML带来了什么(学习笔记)
  7. spring boot 整合freemaker
  8. MicroPython TPYBoard v702实现HTTP应用功能
  9. 洛谷P1029 最大公约数和最小公倍数问题 题解
  10. MySQL之非空约束(NOT NULL)