需求:向后端请求拿数据
好处:把所有的请求方法放在一个文件夹里面,方便优化

先把 axios 安装起

npm install axios --save

接下来按照步骤走吧 go go go~

1、在src路径下建http文件夹 并且创建 api.js env.js request.js 这三个文件

2、 在 env.js 文件
作用:封装我们的公共地址

export default {// 开发环境dev: {baseUrl: "开发环境公共地址"},//线上接口prod: {baseUrl: "线上环境公共地址"}
};

3、在 request.js 文件
作用:创建 axios 以及封装请求拦截和相应拦截

import axios from "axios";  //引入axios
import env from "./env"; // 创建axios实例
const service = axios.create({//这里拿线上接口测试baseUrl: env.prod.baseUrl,headers:{ //请求头'Content-Type': 'application/json;charset=UTF-8',},settimeout:50000,//超时时间
});
// 请求拦截器
service.interceptors.request.use(
config => {// 在发送请求之前做些什么 验证token之类的// console.log("请求的数据:", config);if (localStorage.getItem('token')) {config.headers.token = localStorage.getItem('token')}return config; //记得一定要 返回config
},
error => {// 对请求错误做些什么// console.log("请求的数据:", error);return Promise.reject(error);
}
);// 响应拦截器
service.interceptors.response.use(
response => {// console.log("返回的数据", response);// 这里拦截401错误,并重新跳入登页重新获取tokenif (response.status && response.status === 200) {// 通讯成功if (response.data.code === 0) {return response.data} else if (response.data.code === 401) { // 如果是token过期,跳转至登录this.$message.error("登录已过期,请重新登录!");localStorage.removeItem('token') // 移除token,跳转至登录router.push({ path: '/Login'})}return Promise.resolve(response.data)}
},
error => {// 对响应错误做点什么return Promise.reject(error);
}
);
export default service;

4、 在 api.js 文件
作用:主要是需要的接口地址

// ====== 方法1:把所有请求的地址封装成一个方法,好处就是有个归总 ======
//引入request.js文件
import request from "./request";// 轮播
export function getBanners(data) {return request({url: "/banner", // 这个地址是去掉公共地址剩下的地址method: "GET", // 请求方式 支持多种方式  get post put delete 等等data //发送请求要配置的参数 无参数的情况下也可以不写});
}// ====== 方法2:直接挂载到全局 ======
//把request.js文件引入到main.js中
import http from "./request";Vue.prototype.$http = http;// 最后是在页面中的引用:
this.$http.post('/getuser/user',这里填参数).then((res) => {console.log(res);}).catch((err) => {console.log(err);});

5、 最后是在页面中的引用
那个页面需要请求数据 就引入相应的方法 比如我的首页需要引入 轮播

<script>
// 1.引入需要的接口
import { getBanners } from "../http/api";export default {name: "Home",components: {},methods: {//2.直接使用 .then 是请求成功的回调 .catch是请求失败的回调getUser(){getBanners('有参数就填这里,没有参数就空着').then((res) => {console.log(res);}).catch((err) => {console.log(err);});}}
};
</script>

大功告成,小女子告辞 ~~~

vue 封装 axios 请求相关推荐

  1. axios队列 vue_(十三 )Vue 封装axios(四种请求)及相关介绍

    Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...

  2. 封装 axios 请求

    vue 封装 js 方法 一.安装 axios 并引入: Axios 中文说明 安装axios:npm install axios 因为基本上全局都会使用到 axios 方法,所以在 main.js ...

  3. 解决在vue中axios请求超时的问题

    解决在vue中axios请求超时的问题 参考文章: (1)解决在vue中axios请求超时的问题 (2)https://www.cnblogs.com/zhouyangla/p/8757149.htm ...

  4. vue中axios请求的封装

    axios Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中, 也是vue官方推荐使用的http库:封装axios,一方面为了以后维护方便,另一方面也可以 ...

  5. axios请求接口http_超级简单好用的 Vue封装axios

    简述Axios Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get.post请求.说到get.post, 项目比较大的时候可以使用axios来统一管理请求方式和接口 ...

  6. VUE 之 AXIOS请求

    AXIOS介绍 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. axios是我们在vue项目中常见封装http请求相对受欢迎的,优点如下: 简单易用, ...

  7. vue中axios请求拦截、响应拦截的配置

    1.在vue项目的 src/ 文件夹下新建一个文件夹为 plugins,然后在 plugins/ 下新建 axios.js 文件,写入如下代码 import axios from 'axios' im ...

  8. vue项目封装axios请求

    目录: 一,src/utils/request.js import axios from 'axios' import { getToken } from '@/utils/auth' import ...

  9. vue封装axios接口

    一.安装axios axios安装命令:cnpm install axios 二.在文件中引用axios 一开始我是放在src下的main.js这个文件里面,后来发现mounted钩子读取接口方法为u ...

最新文章

  1. 对云计算的忽视是 银行的战略失误
  2. 2012年上海市高等学校计算机等级考试试卷,2012年上海市高等学校计算机等级考试A试卷...
  3. 分类算法——朴素贝叶斯分类
  4. 数据结构 递归讲解
  5. [MySQL] 为什么要给表加上主键
  6. Android:Application
  7. Gradient Boosting Decision Tree学习
  8. NoSQL数据库探讨- 为什么要用非关系数据库?
  9. 马哥语录第一季第二集
  10. 阵列函数 java_Java复制阵列– Java中的阵列复制
  11. 绑定host域名 修改手机hosts域名
  12. 使用maven将jar包下载到本地仓库
  13. 移动硬盘不认盘还能数据恢复吗?
  14. 【先锋】七牛云存储:三年磨一剑及背后核心技术解析
  15. 计算机专业报瑞士酒店管理,我适合去瑞士读酒店管理吗?
  16. 5G NR 基本概念
  17. 如何在显示图片缩略图时不挤压拉伸图片
  18. 蓝牙产品做SRRC认证需要注意哪些事项?
  19. 河南太康一高高考成绩查询2021,河南周口2020高考喜报,太康一高一本上线增幅巨大,值得重点关注...
  20. Fiddle作为代理服务器后,无法登录浏览器上网问题?

热门文章

  1. java牛牛算法_Java算法题——牛牛消消乐
  2. 往事如烟 - 阿里老哥
  3. 移动端测试 APP启动性能分析 WebView性能分析 H5性能分析 卡顿分析 帧分析 CPU统计 网络流量分析 耗电量指标 弱网测试 健壮性测试 兼容性测试 Amdahl
  4. VI在各类型活动展示中的要点
  5. 苹果电脑的MAC系统和XP系统如何切换?
  6. C语言中EOF含义及用法(新手向)
  7. 第一本书《java面向对象总结》
  8. tomcat 性能调优
  9. Mybatis笔记本(3)
  10. Physically Based Rendering