這篇文章將為大家詳細講解有關怎么用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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。