vue封装axios
一、安装axios npm install --save axios
二、在src下面创建文件夹api=>api.js(接口集合)+http.js(封装的请求)
三、在main.js中引用api.js和http.js
//引入两个文件
import api from './api/api'
import http from './api/http'
//挂载到VUE实例,以便全局使用
Vue.prototype.api = api;
Vue.prototype.http = http;
四、开始在http.js中写方法
import axios from 'axios';
import { Message } from 'element-ui';
let localhosts = 'http://www.xxx.com'; //请求的后台域名
axios.interceptors.request.use(config => {//请求之前(可以设置token)
return config
},error =>{
Message.error(error)
return Promise.reject(error);
});
axios.interceptors.response.use(response => {//数据拿到之后
return response.data
},error => {
Message.error('Http请求失败,请联系管理员');
return Promise.reject(error.response);;
});
function successfun(res){//处理后台返回的非200错误
if(res.code === 200){
return res
}else{
Message.warning(res.message);
return res;
}
}
function errorfun(res){
if(res.code != 200){
Message.error(res.message);
return res;
}
}
export default{
post(url,data){//post请求
return axios({
method:'post',
baseURL:localhosts,
url,
data: data,
withCredentials: true,
timeout:5000,//响应时间
}).then(res => {
return successfun(res)
},err => {
return errorfun(err);
})
},
get(url,params){//get请求
return axios({
method:'get',
baseURL:localhosts,
url,
params,
withCredentials: true,
timeout:5000,
}).then(res => {
return successfun(res)
},err => {
return errorfun(err)
})
}
//(delete,put等请求同上)...
}
五、写api.js
export default {
login: "/login",
}
六、使用
<script>
import Vue from 'vue'
export default {
data () {
return { }
},
created():{
this.http.get(this.api.login)
.then(res => {
if(res.code == 200){
this.info = res.data.list
this.page = res.data
}
});
},
}
</script>
需要配置生产环境、测试环境、生产环境请移步 vue cli3配置
vue封装axios的更多相关文章
- Vue 封装axios(四种请求)及相关介绍(十三)
Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...
- vue 封装axios以及使用中间代理 proxy
为什么需要封装呢?主要是为了更好管理项目以及增加复用性 1.首先在src文件夹下创建api文件夹 . utils文件夹 . server文件夹 api:创建一个index.js文件 用来存放接口地 ...
- vue 封装 axios 和 各类的请求,以及引入 .vue 文件中使用
//src 底下建立 api 文件夹 // api 文件夹下建立 request,js 文件,文件内容复制下面这段代码即可 /** * ajax请求配置 */ import axios fro ...
- vue封装axios方法推荐)
目录结构: api.js export default { myTopic: '/api/subscribe-data/post/cat' } request.js import axios from ...
- Vue 给axios做个靠谱的封装(报错,鉴权,跳转,拦截,提示)
需求及实现 统一捕获接口报错 弹窗提示 报错重定向 基础鉴权 表单序列化 用法及封装 用法 // 服务层 , import默认会找该目录下index.js的文件,这个可能有小伙伴不知道可以去了解npm ...
- vue中axios 配置请求拦截功能 及请求方式如何封装
main.js 中: import axios from '................/axios' axios.js 中: //axios.js import Vue from 'vue' i ...
- vue中Axios的封装和API接口的管理
前端小白的声明: 这篇文章为转载:主要是为了方便自己查阅学习.如果对原博主造成侵犯,我会立即删除. 转载地址:点击查看 如图,面对一团糟代码的你~~~真的想说,What F~U~C~K!!! 回归正题 ...
- 【转】Vue 2.0封装axios笔记
前言 单页面应用大多采用前后端分离开发思路,我们知道,前端和后端交互有多中方式(服务器端渲染.Ajax.websocket等),今天我们主要讲解Ajax部分. 最近团队讨论了一下,Ajax 本身跟 V ...
- Vue笔记:封装 axios 为插件使用
前言 自从Vue2.0推荐大家使用 axios 开始,axios 被越来越多的人所了解.使用axios发起一个请求对大家来说是比较简单的事情,但是axios没有进行封装复用,项目越来越大,引起的代码冗 ...
随机推荐
- js作用域其二:预解析
文章目錄 解析机制 JavaScript是一门解释型的语言 , 想要运行js代码需要两个阶段 编译阶段: 编译阶段就是我们常说的JavaScript预解析(预处理)阶段,在这个阶段JavaScript ...
- Oops 的栈信息分析
MTK MT55 F3600 平台 现象:播放MP4文件不断快退或者快进系统重启. 关键log: Kernel panic - not syncing: x_msg_q_receive(): not ...
- SpringBoot&Shiro实现权限管理
SpringBoot&Shiro实现权限管理 引言 相信大家前来看这篇文章的时候,是有SpringBoot和Shiro基础的,所以本文只介绍整合的步骤,如果哪里写的不好,恳请大家能指出错误,谢 ...
- 微信小程序从开发至发布的流程
今天在公司将这几天开发的小程序,进行版本上线,在这里记录下. 首先,将微信开发工具里的代码上传到微信小程序平台里,如下所示 之后,在微信小程序平台进行审核提交,填写相应的信息即可,注意,审核提交分为紧 ...
- [面试专题]前端需要知道的web安全知识
前端需要知道的web安全知识 标签(空格分隔): 未分类 安全 [Doc] Crypto (加密) [Doc] TLS/SSL [Doc] HTTPS [Point] XSS [Point] CSRF ...
- HTML5 基础知识(1)——基本标签
## HTML**概念**:是最基础的网页开发语言(Hyper Text Markup Langage 超文本标记语言) > 1.超文本:超文本是用超链接的方式i,将各种不同空间的文字组织在一起 ...
- vue项目npm run dev 报错Uncaught SyntaxError: Unexpected token <
目前代码所处位置是micro分支,该分支是从dev分支直接拉下来进行npm run dev的,而dev分支是可以正常运行的,网上的诸多解释是babel转义时候报错,其实对比可见,两个分支不同的地方应该 ...
- Web架构之Nginx基础配置
目录 1.Nginx 虚拟主机 1.1.基于域名的虚拟主机 1.2.基于端口的虚拟主机 1.3.基于IP的虚拟主机 2.Nginx include 3.Nginx 日志配置 3.1.访问日志 3.2. ...
- div隐藏滚动条,仍可滚动
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 【GTS-Fail】GtsSecurityHostTestCases#testNoExemptionsForSocketsBetweenCoreAndVendorBan
[GTS-Fail]GtsSecurityHostTestCases#testNoExemptionsForSocketsBetweenCoreAndVendorBan [问题描述] Gts-7.0- ...