axios ajax vue 封裝axios get post put 等

import axios from 'axios'; import { getCookie } from '../api/cookies' import {getQueryString} from '../api/unit' const instance = axios.create({ timeout: 5000, baseURL:'', withCredentials: true, headers: {token: getCookie('token')} }); //http response 攔截器 instance.interceptors.response.use( response => { var res=response.data; if (res.code == 'A0301' || res.code == 'A0311') { // 攔截 對應特殊錯誤特別處理 } else { return response; } }, error => { console.log("response error :" + error); if (error.response) { switch (error.response.status) {// token失效處理 case 401://token 失效 return; } } return Promise.reject(error) // 返回接口返回的錯誤信息 } ); /** * 封裝get方法 * @param url * @param data * @returns {Promise} */ export function get(url,params={}){ return new Promise((resolve,reject) => { instance.get(url,{ params:params }).then(res => { resolve(res.data); }).catch(err =>{ reject(err.data) }) }) } /** * 封裝post請求 * @param url * @param data * @returns {Promise} */ export function post(url,data = {}){ return new Promise((resolve,reject) => { instance.post(url,data).then(res => { resolve(res.data); }).catch(err =>{ reject(err.data) }) }) } /** * 封裝patch請求 * @param url * @param data * @returns {Promise} */ export function patch(url,data = {}){ return new Promise((resolve,reject) => { instance.patch(url,data).then(res => { resolve(res.data); }).catch(err =>{ reject(err.data) }) }) } /** * 封裝put請求 * @param url * @param data * @returns {Promise} */ export function put(url,data = {}) { return new Promise((resolve, reject) => { instance.put(url, data).then(res => { resolve(res.data); }).catch(err =>{ reject(err.data) }) }) }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章