当前位置: 代码迷 >> 综合 >> axios ajax vue 封装axios get post put 等
  详细解决方案

axios ajax vue 封装axios get post put 等

热度:48   发布时间:2024-01-18 18:03:40.0
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)})})
}
  相关解决方案