vue-axios响应请求拦截器

import axios from "axios";
// import { ElMessage } from 'element-plus'
import { BASE_URL,TIMEOUT } from "../config";
const Axios = axios.create({
	// 后端url地址
  baseURL: BASE_URL,
  // 设置超时时间
  timeout: TIMEOUT,
  // 请求头类型
  // 后端使用的是默认类型
  headers: {
	  'Content-Type': 'application/x-www-form-urlencoded'
	  }
});

// 添加请求拦截器
Axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
Axios.interceptors.response.use((response)=>{
    // 对响应数据做点什么
    return response;
  },(error)=>{
	  console.log(error.response.status)
	  // if(error && error.response){
		//   switch(error.response.status){
		// 	  case 500:
		// 	  ElMessage.error('服务器内部出错')
		// 	  break
		// 	  case 400:
		// 	  ElMessage.error('请求错误')
		// 	  break
		// 	  case 401:
		// 	  ElMessage.error('未授权,请登录')
		// 	  break
		// 	  case 403:
		// 	  ElMessage.error('拒绝访问')
		// 	  break
		// 	  case 404:
		// 	  ElMessage.error(`请求地址出错:${err.response.config.url}`)
		// 	  break
		// 	  case 408:
		// 	  ElMessage.error('请求超时')
		// 	  break
		// 	  case 500:
		// 	  ElMessage.error('服务器内部出错')
		// 	  break
		// 	  case 501:
		// 	  ElMessage.error('服务器未实现')
		// 	  break
		// 	  case 502:
		// 	  ElMessage.error('网关错误')
		// 	  break
		// 	  case 503:
		// 	  ElMessage.error('服务不可用')
		// 	  break
		// 	  case 504:
		// 	  ElMessage.error('网关超时')
		// 	  break
		// 	  case 504:
		// 	  ElMessage.error('HTTP版本不受支持')
		// 	  break
		//   }
	  // }
    // 对响应错误做点什么
    return Promise.reject(error);
  });
  
  export default Axios
posted @ 2024-12-19 13:25  韩德才  阅读(29)  评论(0)    收藏  举报