一、报错:
二、问题描述及解决办法:
- 问题描述: 成功调用接口,也获得数据,但是控制台报上图错误。
- 解决办法: 查看代码中写的axios响应拦截器code码是否与后端提供的相同。
// 响应拦截器
instance.interceptors.response.use(
(res) => {
// TODO 3. 处理业务失败
// TODO 4. 摘取核心响应数据
// 判断如果成功:'code === 0'判断是否与后台找到的相同
if (res.data.code === 0) {
return res
}
// 如果失败:给出错误提示,抛出错误
// res.data.ElMessage是接口提供的错误提示
// 如果接口未提供错误提示,则自己写提示'服务异常'
ElMessage.error(res.data.ElMessage || '服务异常')
// Promise:执行网络请求或其他耗时任务进行异步操作
// Promise.resolve表示操作成功;Promise.reject表示操作失败
return Promise.reject(res.data)
},
在此代码中,判断code===0,代表响应成功
而在后台,提供的是code === 200代表成功
因此冲突,需要将代码改成code === 0