如何用vue封裝axios請求
其實vue封裝axios是很簡單的
首先 在src路徑下建http文件夾 并且創(chuàng)建api.js env.js request.js 這三個文件
env.js文件
這個文件主要就是封裝我們的公共地址
export default {// 開發(fā)環(huán)境dev: { baseUrl: '開發(fā)環(huán)境公共地址'},// 測試環(huán)境testtest: { baseUrl: '測試環(huán)境公共地址'},//線上接口prod: { baseUrl: '線上環(huán)境公共地址'}};
request.js 文件
這里主要就是創(chuàng)建axios 以及封裝請求攔截和相應(yīng)攔截
import axios from 'axios';import env from './env';//這里是私有域名 但是也可以不寫var vipUrl = '/app';// 創(chuàng)建axios實例const service = axios.create({//這里拿線上接口測試baseUrl: env.prod.baseUrl + vipUrl, headers:{},//請求頭 settimeout:2000,//超時時間});// 添加請求攔截器service.interceptors.request.use(config => { // 在發(fā)送請求之前做些什么 config.headers['deviceType'] = 'H5'; console.log('請求的數(shù)據(jù):', config); return config;},error => { // 對請求錯誤做些什么 return Promise.reject('出錯', error);});// 添加響應(yīng)攔截器service.interceptors.response.use(response => { // 對響應(yīng)數(shù)據(jù)做點什么 // console.log('返回的數(shù)據(jù)', response); return response;},error => { // 對響應(yīng)錯誤做點什么 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//發(fā)送請求要配置的參數(shù) 無參數(shù)的情況下也可以不寫});}
最后是在頁面中的引用
那個頁面需要請求數(shù)據(jù) 就引入相應(yīng)的方法 比如我的首頁需要引入banner
<script>//引入需要的接口import { getBanners } from '../http/api';export default {name: 'Home',components: {},mounted() { //直接使用 .then 是請求成功的回調(diào) .catch是請求失敗的回調(diào) getBanners() .then(result => {window.console.log('111', result); }) .catch(err => {window.console.log('222', err); });},methods: {}};</script>
以上就是如何用vue封裝axios請求的詳細內(nèi)容,更多關(guān)于用vue封裝axios請求的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 測試模式 - XSL教程 - 52. 用xslt+css讓RSS顯示的跟網(wǎng)頁一樣漂亮3. CSS3實現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效4. 《CSS3實戰(zhàn)》筆記--漸變設(shè)計(一)5. 移動端HTML5實現(xiàn)拍照功能的兩種方法6. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例7. html5手機觸屏touch事件介紹8. ASP.NET Core自定義中間件的方式詳解9. ASP.NET MVC把數(shù)據(jù)庫中枚舉項的數(shù)字轉(zhuǎn)換成文字10. 教你JS更簡單的獲取表單中數(shù)據(jù)(formdata)
