android的React Native fetch()网络请求失败?

Posted

技术标签:

【中文标题】android的React Native fetch()网络请求失败?【英文标题】:React Native fetch() Network Request Failed for android? 【发布时间】:2018-06-16 06:30:26 【问题描述】:

当我使用 react-native init(RN 版本 0.52-RC)创建一个全新的项目并将渲染方法中的 fetch 放入公共 API 时,它会抛出网络请求失败。有一个非常无用的堆栈跟踪,我无法在 chrome 控制台中调试网络请求。这是我要发送的 fetch:

 fetch('https://test.online/login', 
            method: 'POST',
            headers: 
                'Accept': 'application/json',
                'Content-Type': 'application/json',
            ,
            body: JSON.stringify(
                email: this.emailId,
                password: this.password
            )
        ).then((data) => 
            return data.json();
        ).then((data) => 

        ).catch((err) => 
            alert(err); // TypeError:Network request faild.
        );

【问题讨论】:

【参考方案1】:

您可以发布您的请求代码 sn-p 吗?你用的是安卓还是ios的模拟器?一般来说,IOS/android默认不允许你发出http请求,你必须在你的info.plist(for IOS)中启用它们

【讨论】:

如何在安卓上启用它?我在谷歌上找不到。 在 Android 上将此行添加到您的 AndroidManifest.xml(Android/app/src 文件夹)文件 【参考方案2】:

如果你使用的是 nginx 服务器然后更改

ssl_ecdh_curve secp384r1ssl_ecdh_curve prime256v1

在这个 /etc/nginx/sn-ps/ssl-params.conf 文件中

查看详情以在此处查看https://community.letsencrypt.org/t/warning-android-7-0-clients-not-browsers-can-only-use-curve-prime256v1/23212

【讨论】:

我找不到 ssl-params.conf 文件。能否请您更具体地告诉我地点? 你拯救了我的一天!!我已经为此苦苦挣扎了几个月

以上是关于android的React Native fetch()网络请求失败?的主要内容,如果未能解决你的问题,请参考以下文章

React Native Android - 第一次运行 react-native run-android 时出错

React Native - 在 Android 上构建 react-native-camera 错误

react-native run-android上的React Native错误

React-Native系列Android——Native与Javascript通信原理

解决 React-Native: Android project not found. Maybe run react-native android first?

使用 react-native run-android 运行时出现 React-Native 错误