Vue-axios 在vue cli中封装
common/post.js
import axios from 'axios' // 引入axios
import qs from 'qs' // 引入qs
axios.defaults.baseURL = '/apis' //请求地址的域名(此处使用了代理所以直接填/apis // 拦截响应response,进行错误处理
axios.interceptors.response.use(function (response) {
// 成功处理
// code处理
response.code = response.data.code
switch (response.status) {
case 200:
break;
case 400: response.data.msg = '错误请求'
break;
case 401: response.data.msg = '未授权,请重新登录'
break;
case 403: response.data.msg = '拒绝访问'
break;
case 404: response.data.msg = '请求错误,未找到该资源'
break;
case 405: response.data.msg = '请求方法未允许'
break;
case 408: response.data.msg = '请求超时'
break;
case 500: response.data.msg = '服务器端出错'
break;
case 501: response.data.msg = '网络未实现'
break;
case 502: response.data.msg = '网络错误'
break;
case 503: response.data.msg = '服务不可用'
break;
case 504: response.data.msg = '网络超时'
break;
case 505: response.data.msg = 'http版本不支持该请求'
break;
}
return response;
}, function (error) { return Promise.reject(error);
}); async function requestGet(options) {
// 这里主要是post方法的封装,get方法同理
options.method = 'post'
if (options.config === 'formData') {
options.headers = {'Content-Type': 'multipart/form-data'}
} else {
options.data = qs.stringify(options.data)
}
return new Promise((resolve,reject) => {
axios(options).then(res => {
// 这里主要根据后来返回的数据作判断,请根据实际情况
if(res.data.code == '200') {
resolve(res.data)
} else {
reject(res.data)
}
}).catch(error => {
// 显示拦截器对respone处理后的可读错误
console.log(error)
})
})
} export default { requestGet }
main.js
import Post from '../static/js/post.js'/*post公共*/
const { requestPost } = Post/*post*/
Vue.prototype.$requestPost = requestPost // post挂载到全局上
页面中:
acceptlist(){
this.$requestGet({
url: this.http+'/cdk/paperTypeMobile/findList',
data: {}
}).then(res => {
console.log(res)
this.columns=res.obj
}).catch(err=>{
console.log(err)
})
}
注:main.js和post.js中要引入axios、qs
Vue-axios 在vue cli中封装的更多相关文章
- vue axios封装以及登录token过期跳转问题
Axios配置JWT/封装插件/发送表单数据 首先请务必已仔细阅读 Axios 文档并熟悉 JWT: 中文文档 JWT 中文文档 安装 npm install axios npm install es ...
- vue axios 简单封装以及思考
先安装 axios npm install axios axios的详细介绍以及用法 就不多说了请 移步 github ➡️ https://github.com/axios/axios 下面是简单 ...
- vue axios 封装(二)
封装二: http.js import axios from 'axios' import storeHelper from './localstorageHelper' // 全局设置 const ...
- axios在Vue中的简单应用(一)
1.安装axios: npm install --save axios vue-axios 2.安装qs: qs.stringify(data)可以解决data数据格式问题 npm install - ...
- (vue.js)axios interceptors 拦截器中添加headers 属性
(vue.js)axios interceptors 拦截器中添加headers 属性:http://www.codes51.com/itwd/4282111.html 问题: (vue.js)axi ...
- axios interceptors 拦截 , 页面跳转, token 验证 Vue+axios实现登陆拦截,axios封装(报错,鉴权,跳转,拦截,提示)
Vue+axios实现登陆拦截,axios封装(报错,鉴权,跳转,拦截,提示) :https://blog.csdn.net/H1069495874/article/details/80057107 ...
- 【实战】Vue全家桶(vue + axios + vue-router + vuex)搭建移动端H5项目
使用Vue全家桶开发移动端页面. 本博文默认已安装node.js. github链接 一.准备工作 安装vue npm install vue 安装脚手架vue-cli npm install -g ...
- vue axios配置 发起请求加载loading请求结束关闭loading
axios带有请求拦截器,避免在每个请求里面加loading重复操作,可以封装进去,在请求开始时加载loading层,请求结束关闭,loading层用vux的loading加载 axios.js im ...
- vue+axios+promise实际开发用法
axios它是基于promise的http库,可运行在浏览器端和node.js中,然后作者尤雨溪也是果断放弃了对其官方库vue-resource的维护,直接推荐axios库,小编我也是从vue-res ...
随机推荐
- 洛谷 P2146 [NOI2015]软件包管理器 树链剖分
目录 题面 题目链接 题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 输出样例#1: 输入样例#2: 输出样例#2: 说明 说明 思路 AC代码 总结 题面 题目链接 P ...
- centos6.5后台进程的切换
1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...
- js单选按钮的默认值
function SelectWindow(str) { initradio('PhysiotherapyOptionsTable.Sex',sex); } function initra ...
- iOS 适配iPhoneX上tableHeaderView发生了高度拉伸、UI出现的空白间距
记录下前阵子遇到的一个问题,草稿箱里记录的有点潦草,讲下大概吧. 异常如下,粉色区域作为tableHeader放上去的(注意不是sectionHeader) header初始化之后一切正常,frame ...
- __defineGetter__和__defineSetter__在日期中的应用
日期函数每次取年月日都要调用Date的函数,有点麻烦,通过__defineGetter__可以处理一下,就能通过Date的实例对象直接获取年月日,例如 date.year获取日期对象date的年份.月 ...
- List<object> 转 List<T>
List<TAXIWAY_CENTER_LINE> kk = allObjs.Where(c => c.ToString() == "AMXM.TAXIWAY_CENTER ...
- 2019-10-7-WPF-如何跨线程重新抛出异常
title author date CreateTime categories WPF 如何跨线程重新抛出异常 lindexi 2019-10-07 13:24:54 +0800 2019-10-4 ...
- @atcoder - AGC035D@ Add and Remove
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定 N 张排成一行的卡片,第 i 张卡片上面写着 Ai. 重复 ...
- laravel 的路由中间件
简介# Laravel 中间件提供了一种方便的机制来过滤进入应用的HTTP请求.例如,Laravel 内置了一个中间件来验证用户的身份认证 , 如果没有通过身份认证,中间件会将用户重定向到登陆界面,但 ...
- python selenium 处理悬浮窗口(baidu tj_more)
python selenium 处理悬浮窗口 from selenium.webdriver.common.action_chains import ActionChainsActionChains( ...