您好,登錄后才能下訂單哦!
這篇“如何用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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。