我在用着axios 0.17.0
使用以下代码:
this.props.userSignupRequest(this.state)
.then( res => { console.log(res.data) } )
.catch( err => { this.setState({ errors: err.response }) } )
并且服务器设置为返回400
当用户注册验证未通过时。这也显示在控制台中:POST 400 (Bad Request)
,但是setState
没有被执行。这是为什么?我也尝试过console.log(err)
没事了。
就我而言(axios 0.27.2),400 响应确实被 axios 处理为错误。
此问题可能是由于响应拦截器编写不当而导致的,该拦截器在未处理的情况下不会返回 Promise.reject。
axios.interceptors.response.use(
(response) => response,
(error) => {
if (condition) {
// Handle error
} else {
// This is important, so that unhandled cases make axios throw errors
return Promise.reject(error);
}
}
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)