获得未处理的拒绝 (TypeError)

Posted

技术标签:

【中文标题】获得未处理的拒绝 (TypeError)【英文标题】:Getting Unhandled Rejection (TypeError) 【发布时间】:2019-10-05 06:41:34 【问题描述】:

我正在使用 JWT 令牌和用于 API 调用的 Axios 库使用 ReactJS 制作 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;
                     
                

                ;

            );
        ;
    ;

Unhandled Rejection (TypeError): undefined is not an object(evalating 'err.response.data')

【问题讨论】:

【参考方案1】:

您在 axios 发布请求中使用 localhost,您需要将其更改为您 PC 的一些实时 api url 或 IP,例如

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

【讨论】:

以上是关于获得未处理的拒绝 (TypeError)的主要内容,如果未能解决你的问题,请参考以下文章

反应本机获取多标记[未处理的承诺拒绝:TypeError:TypeError:未定义不是对象(评估'this.state.markers.map

REACT JS:未处理的拒绝(TypeError):无法读取未定义的属性“数据”

未处理的拒绝(TypeError):无法设置未定义的属性“innerHTML”

未处理的拒绝(TypeError):api.getUser 不是函数

未处理的拒绝(TypeError):无法读取未定义的属性“映射”? (反应火力基地)

未处理的拒绝(TypeError):无法读取反应中未定义的属性“setState”(firestore)