使用拦截器解决axios返回双层data的问题
每次使用axios发送请求返回的数据都是双层data,需要response.data.data才能拿到需要的数据,并不能直接获取到我们需要的有效数据。
·
每次使用axios发送请求返回的数据都是双层data,需要response.data.data才能拿到需要的数据,并不能直接获取到我们需要的有效数据。
以上图数据为例,我们可以设置一个响应拦截器让每次axios返回的数据去掉外层的data
//设置响应拦截器
axios.interceptors.response.use(res => {
//判断 success的结果是 false 或 true
if(res.data.success){
//结果为true 那么返回去掉外层data之后的数据
return res.data
} else {
//结果为false 返回message中的错误信息
return Promise.reject(new Error(res.data.message))
}
return res.data;
}), error => {
return Promise.reject(error)
})
添加拦截器之后的效果
请求成功
请求失败
更多推荐
已为社区贡献2条内容
所有评论(0)