遇到无法处理的拒绝(TypeError)

时间:2019-05-17 23:37:25

标签: reactjs api jwt local-storage axios

我正在使用ReactWT使用JWT令牌和用于API调用的Axios库制作一个Web应用程序。在我的本地计算机上,一切正常。但是在连接到同一Wi-Fi的其他计算机上却给我一个错误。请给我一个提示或一些文章,介绍如何使用Axios处理正确的API调用。

onSubmit =(event) => {
        event.preventDefault();
        if(formValid(this.state)){
            var data = JSON.parse(localStorage.getItem('user-data'));
            if(data!= null){
                localStorage.removeItem('user-data');
            }
            axios.post('https://localhost:44397/api/auth/login', {
                email: this.state.email,
                password: this.state.password
            }).then((result) => {
                if(result.status === 200){
                    localStorage.setItem('user-data', JSON.stringify(result.data))
                    this.props.history.push("/dashboard");
                };
            }).catch(err => {
                console.error(err);
                if(err){
                    const {data} = err.response;
                for(let key of Object.keys(data)){
                    switch(key){
                        case "email":
                            console.log(data.email);
                            let formErrors = {...this.state.formErrors};
                            formErrors.email = data.email;
                            this.setState({formErrors});
                        break;
                        case "password":
                            let formErrors2 =  {...this.state.formErrors};
                            console.log(data.password);
                            formErrors2.password = data.password;
                            this.setState({formErrors: formErrors2});
                        break;    
                        default:
                        break;
                    } 
                }

                };

            });
        };
    };

未处理的拒绝(TypeError):未定义不是对象(正在评估“ err.response.data”)

1 个答案:

答案 0 :(得分:0)

您在axios发布请求中使用本地主机,您需要将其更改为PC的某些实时api URL或IP

https://192.168.3.10:44397/api/auth/login