如何用vue封裝axios請(qǐng)求
其實(shí)vue封裝axios是很簡(jiǎn)單的
首先 在src路徑下建http文件夾 并且創(chuàng)建api.js env.js request.js 這三個(gè)文件
env.js文件
這個(gè)文件主要就是封裝我們的公共地址
export default {// 開(kāi)發(fā)環(huán)境dev: { baseUrl: '開(kāi)發(fā)環(huán)境公共地址'},// 測(cè)試環(huán)境testtest: { baseUrl: '測(cè)試環(huán)境公共地址'},//線(xiàn)上接口prod: { baseUrl: '線(xiàn)上環(huán)境公共地址'}};
request.js 文件
這里主要就是創(chuàng)建axios 以及封裝請(qǐng)求攔截和相應(yīng)攔截
import axios from 'axios';import env from './env';//這里是私有域名 但是也可以不寫(xiě)var vipUrl = '/app';// 創(chuàng)建axios實(shí)例const service = axios.create({//這里拿線(xiàn)上接口測(cè)試baseUrl: env.prod.baseUrl + vipUrl, headers:{},//請(qǐng)求頭 settimeout:2000,//超時(shí)時(shí)間});// 添加請(qǐng)求攔截器service.interceptors.request.use(config => { // 在發(fā)送請(qǐng)求之前做些什么 config.headers['deviceType'] = 'H5'; console.log('請(qǐng)求的數(shù)據(jù):', config); return config;},error => { // 對(duì)請(qǐng)求錯(cuò)誤做些什么 return Promise.reject('出錯(cuò)', error);});// 添加響應(yīng)攔截器service.interceptors.response.use(response => { // 對(duì)響應(yīng)數(shù)據(jù)做點(diǎn)什么 // console.log('返回的數(shù)據(jù)', response); return response;},error => { // 對(duì)響應(yīng)錯(cuò)誤做點(diǎn)什么 return Promise.reject(error);});export default service;
api.js
這個(gè)文件中主要是需要的接口地址
//引入request.js文件import request from './request';// 輪播export function getBanners(data) {return request({ url: '/banner',//這個(gè)地址是去掉公共地址和私有域名之后剩下的地址 method: 'GET',//請(qǐng)求方式 支持多種方式 get post put delete 等等 data//發(fā)送請(qǐng)求要配置的參數(shù) 無(wú)參數(shù)的情況下也可以不寫(xiě)});}
最后是在頁(yè)面中的引用
那個(gè)頁(yè)面需要請(qǐng)求數(shù)據(jù) 就引入相應(yīng)的方法 比如我的首頁(yè)需要引入banner
<script>//引入需要的接口import { getBanners } from '../http/api';export default {name: 'Home',components: {},mounted() { //直接使用 .then 是請(qǐng)求成功的回調(diào) .catch是請(qǐng)求失敗的回調(diào) getBanners() .then(result => {window.console.log('111', result); }) .catch(err => {window.console.log('222', err); });},methods: {}};</script>
以上就是如何用vue封裝axios請(qǐng)求的詳細(xì)內(nèi)容,更多關(guān)于用vue封裝axios請(qǐng)求的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Python編寫(xiě)nmap掃描工具2. PHP設(shè)計(jì)模式(四)原型模式Prototype實(shí)例詳解【創(chuàng)建型】3. python 爬取嗶哩嗶哩up主信息和投稿視頻4. PHP擴(kuò)展之APC——Alternative PHP Cache(可選PHP緩存)5. ASP.NET MVC前臺(tái)動(dòng)態(tài)添加文本框并在后臺(tái)使用FormCollection接收值6. 如何基于python3和Vue實(shí)現(xiàn)AES數(shù)據(jù)加密7. 10個(gè)提供免費(fèi)PHP腳本下載的網(wǎng)站8. Java向Runnable線(xiàn)程傳遞參數(shù)方法實(shí)例解析9. Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送10. php5.6不能擴(kuò)展redis.so的解決方法
