简介


axios是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中
主要是用于向后台发起请求的,还有在请求中做更多是可控功能。

特点


从浏览器中创建 XMLHttpRequests
从 node.js 创建 http 请求
支持 Promise API
拦截请求和响应
转换请求数据和响应数据
取消请求
自动转换 JSON 数据
客户端支持防御 XSRF

安装


使用 npm: $ npm install axios
使用 bower: $ bower install axios
使用 cdn: <script src="https://unpkg.com/axios/dist/axios.min.js"></script>

使用



import axios from 'axios'
import router from '../router/index'
import Message from 'ant-design-vue/es/message'
import Cookies from 'js-cookie' const service = axios.create({
baseURL: '/api', // 统一请求路径前缀
timeout: 15000// 请求超时时间
}) service.interceptors.request.use(config => {
let sessionId = Cookies.get('X-SESSION-ID') || ''
if (sessionId) {
config.headers['X-SessionId'] = sessionId // 让每个请求携带自定义token 请根据实际情况自行修改
}
return config
}, err => {
Message.error('请求超时')
return Promise.reject(err)
}) // http response 拦截器
service.interceptors.response.use(response => {
const data = response.data
// 根据返回的code值来做不同的处理(和后端约定)
switch (data.code) {
case 401:
// 未登录 清除已登录状态
router.push('/login')
return Promise.reject(new Error('401'))
case 403:
// 没有权限
if (data.message !== null) {
Message.error(data.message)
} else {
Message.error('未知错误')
}
return Promise.reject(new Error('未知错误'))
case 500:
// 错误
if (data.message !== null) {
Message.error(data.message)
} else {
Message.error('未知错误')
}
// return Promise.reject(new Error('未知错误'))
return Promise.reject(data.message)
default:
return data
}
}, (err) => { // 这里是返回状态码不为200时候的错误处理
Message.error(err.toString())
return Promise.reject(err)
}) export default service

API使用


import request from '@/utils/request' // 所属区域
export function getListByGroupStartAdminArea () {
return request({
url: '/area/getListByGroupStartAdminArea'
})
} // 直升机信息删除
export function deleteCopter (data) {
return request({
url: `/copter/deleteCopter`,
method: 'post',
data
})
}

页面使用


// 获取区域列表
_getListByGroupStartAdminArea () {
getListByGroupStartAdminArea().then(res => {
this.options = res.payload
})
},

// 删除直升机信息
handleDelete(record) {
let copter = this
this.$confirm({
title: '直升机信息删除',
content: '请确认是否将此直升机删除?',
okText: '确定',
cancelText: '取消',
onOk() {
deleteCopter({
id: record
}).then(res => {
copter.$message.error('删除成功!')
copter._getCopterList()
})
},
onCancel() {}
})
},

来源:https://segmentfault.com/a/1190000018129057

最新文章

  1. Linux 中我该如何备份系统
  2. 【msql】关于redo 和 undo log
  3. UBER的故事
  4. 「Ionic」使用chrom時的跨域問題
  5. 我懒蛋又回来了!-PDO
  6. phpstorm的安装和破解
  7. spring mvc静态资源文件的引用
  8. iOS 对UIButton的imageView和titleLabel进行重新布局
  9. (void*)0 的理解
  10. ACM - ICPC World Finals 2013 D Factors
  11. 集成Dubbo服务(Spring)
  12. profile与bashrc
  13. python字符串中的中文处理
  14. Optaplanner - 入门介绍
  15. Oracle的安装+PL安装+系统变量配好后重启
  16. JavaScript模板代码总结
  17. Java编程思想 学习笔记9
  18. leetcode-algorithms-21 Merge Two Sorted Lists
  19. 切换tab页时,tab页中的echart变形问题
  20. 网页里面出现"$#2342"类似这样 应该怎么转义过来?

热门文章

  1. Android存储Json到本地,和读取本地Json
  2. 修改DedeCMS图片上传路径命名规则的具体方法步骤
  3. Zabbix的API的使用
  4. kubernetes基础知识:限制POD和容器运行的CPU、内存
  5. Spoken English Practice (yesterday) (Look, I just wanted to apologize again for yesterday? It's fine, I know you didn't mean it. / when I say it, I mean it.)
  6. HDU1811 拓扑排序判环+并查集
  7. zipline整体架构
  8. 并发编程 - 进程 - 1.队列的使用/2.生产者消费者模型/3.JoinableQueue
  9. UDP和TCP的主要特点
  10. 解决MySQL数据库同步1236错误