在笔记本电脑的 google chrome 浏览器中输入不正确的信息时,我收到错误响应 这是 screenshot使用此代码在我的笔记本电脑浏览器中的响应
axios
.post(`${strapi}/auth/local`, loginData)
.then(res => {
if (undefined === res.data.jwt) {
this.setState({error: res.data.message, Loading: false});
return;
}
sessionStorage.setItem('JWT', res.data.jwt);
sessionStorage.setItem('username', res.data.user.username);
sessionStorage.setItem('role', res.data.user.role.type);
this.setState({Loading: false, token: res.data.jwt, username: res.data.user.username, userEmail: res.data.user.email, isLoggedIn: true});
// window.location.href = '/';
})
.catch(err => {
this.setState({
error:err.response.data.message[0].messages[0].message
})
console.log(this.state.error)
})
但是,当使用相同的代码行登录我的移动 Chrome 浏览器时,会出现此情况 mobile screenshot
如何解决这个问题?
最佳答案
当您没有收到 error.response 时,就会发生此类错误。
因此,如果遇到任何未知错误,您可以设置默认消息。
let MESSAGE;
if(error.response){
MESSAGE = err.response.data.message[0].messages[0].message
}else{
MESSAGE = 'Something went wrong.'
}
this.setState({
error: MESSAGE
})
或者您可以记录错误,为什么会发生这种情况
console.log('error',error)
关于javascript - 未处理的拒绝(类型错误): Cannot read property of undefined using reactjs axios on google chrome mobile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59876960/