您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章将为大家详细讲解有关怎么用vue封装axios请求,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
其实vue封装axios是很简单的
首先 在src路径下建http文件夹 并且创建api.js env.js request.js 这三个文件
env.js文件
这个文件主要就是封装我们的公共地址
export default { // 开发环境 dev: { baseUrl: "开发环境公共地址" }, // 测试环境test test: { baseUrl: "测试环境公共地址" }, //线上接口 prod: { baseUrl: "线上环境公共地址" } };
request.js 文件
这里主要就是创建axios 以及封装请求拦截和相应拦截
import axios from "axios"; import env from "./env"; //这里是私有域名 但是也可以不写 var vipUrl = "/app"; // 创建axios实例 const service = axios.create({ //这里拿线上接口测试 baseUrl: env.prod.baseUrl + vipUrl, headers:{},//请求头 settimeout:2000,//超时时间 }); // 添加请求拦截器 service.interceptors.request.use( config => { // 在发送请求之前做些什么 config.headers["deviceType"] = "H5"; console.log("请求的数据:", config); return config; }, error => { // 对请求错误做些什么 return Promise.reject("出错", error); } ); // 添加响应拦截器 service.interceptors.response.use( response => { // 对响应数据做点什么 // console.log("返回的数据", response); return response; }, error => { // 对响应错误做点什么 return Promise.reject(error); } ); export default service;
api.js
这个文件中主要是需要的接口地址
//引入request.js文件 import request from "./request"; // 轮播 export function getBanners(data) { return request({ url: "/banner",//这个地址是去掉公共地址和私有域名之后剩下的地址 method: "GET",//请求方式 支持多种方式 get post put delete 等等 data//发送请求要配置的参数 无参数的情况下也可以不写 }); }
最后是在页面中的引用
那个页面需要请求数据 就引入相应的方法 比如我的首页需要引入banner
<script> //引入需要的接口 import { getBanners } from "../http/api"; export default { name: "Home", components: {}, mounted() { //直接使用 .then 是请求成功的回调 .catch是请求失败的回调 getBanners() .then(result => { window.console.log("111", result); }) .catch(err => { window.console.log("222", err); }); }, methods: {} }; </script>
关于“怎么用vue封装axios请求”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。