import axios from axios;import showMessage from status; 引入状态码文件import Elmessage from element-plus; 引入el提示框 设置接口超时时间axiosdefaultstimeout = 60000; 请求地址动态赋值的环境变量axiosdefaultsbaseURL = importm
在请求拦截器中,headers中的Authorization拼写错误,应该为Authorization而不是Authoriztion。
修改后的代码如下:
import axios from 'axios';
import { showMessage } from './status'; // 引入状态码文件
import { Elmessage } from 'element-plus'; // 引入el提示框
// 设置接口超时时间
axios.defaults.timeout = 60000;
// 请求地址,动态赋值的环境变量
axios.defaults.baseURL = import.meta.env.VITE_API_DOMAIN;
// 请求拦截器
axios.interceptors.request.use(
(config) => {
const token = sessionStorage.getItem("token");
// 在发送请求之前做些什么,例如添加token等
config.headers = {
'Content-Type': 'application/x-www-form-urlencoded;', // 传参方式表单
// 'Content-Type': 'application/json;charset=UTF-8', // 传参方式为json
'Authorization': token // 身份认证
}
return config;
},
(error) => {
// 对请求错误做些什么
return Promise.reject(error);
}
)
// 响应拦截器
axios.interceptors.response.use(
(response) => {
// 对响应数据做些什么
return response;
},
(error) => {
// 对响应错误做些什么
const { response } = error;
if (response) {
// 请求已发出但不在 200 的范围内
showMessage(response.status); // 传入响应码,匹配对应的响应码信息
return Promise.reject(response.data);
} else {
Elmessage.warning("网络连接异常,请稍后再试!");
}
}
)
// 封装GET POST 请求并导出
export function request(url = 'http://localhost:3000/', params = {}, data = {}, type = 'POST') {
// 设置url params type 的默认值
return new Promise((resolve, reject) => {
let promise
if (type.toUpperCase() === "GET") {
promise = axios({
url,
params
})
} else if (type.toUpperCase() === "POST") {
promise = axios({
method: 'POST',
url,
data
})
}
// 处理返回
promise.then(res => {
resolve(res)
}).catch(error => {
reject(error);
})
})
}
修改后的代码中将Authorization的拼写错误修改为了正确的形式
原文地址: https://www.cveoy.top/t/topic/iBQN 著作权归作者所有。请勿转载和采集!