我已经尝试解决了一段时间。我正在追踪大约一年前的YouTube教程,因此可能要归咎于Redux版本。
export const signupUser = (newUserData, history) =>(dispatch) =>{
dispatch({type: LOADING_UI});
axios.post('/signup', newUserData)
.then(res =>{
setAuthorizationHeader(res.data.token);
dispatch(getUserData());
dispatch({ type: CLEAR_ERRORS}); //in case there are any errors on form prior to redirecting to home page
this.props.history.push('/');
})
.catch(err => {
dispatch({
type: SET_ERRORS,
payload: err.response.data
});
});
}
源位于catch块中:
| .catch(err => {
14 | dispatch({
15 | type: SET_ERRORS,
> 16 | payload: err.response.data
17 | });
18 | });
19 | }
这是错误消息中的编译版本:
1317 | }).catch(err => {
1318 | dispatch({
1319 | type: _types__WEBPACK_IMPORTED_MODULE_0__["SET_ERRORS"],
> 1320 | payload: err.response.data
| ^ 1321 | });
1322 | });
1323 | };
任何帮助将不胜感激!我已经考虑了几个类似的问题,但是无法解决问题。
答案 0 :(得分:0)
Axios返回不同的错误类型,需要对它们进行不同的处理。您可能没有收到“响应”错误。您可以尝试以下操作:
.catch(err => {
if (err.response) {
console.log(err.response.data);
console.log(err.response.status);
console.log(err.response.headers);
} else if (err.request) {
console.log(err.request);
} else {
console.log(err.message);
}