React Native Fetch请求失败

时间:2015-04-27 16:34:32

标签: react-native nsurlconnectiondelegate

我正在使用react本机Fetch API从https://api.github.com/users/{username}获取JSON数据,但请求失败并显示以下错误消息。

  

“TypeError:网络请求失败{stack:(...),message:'Network   请求失败'}“。

我相信https,有时你得到 NSURLAuthenticationChallenge 。我不知道如何实现这一点。有人对此有任何想法吗?

4 个答案:

答案 0 :(得分:2)

如果您使用的是iOs,则可能需要执行以下操作:

您必须启用AppTransportSecurity

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

info.plist

在Info.plist中。

对于Android,请确保您已添加在AndroidManifest.xml中使用INTERNET的权限。

<uses-permission android:name="android.permission.INTERNET" /> 

答案 1 :(得分:1)

您能提供fetch代码的摘要吗?

通常,fetch语句的写法如下:

fetch(requestURL)
  .then( (response) => response.json() )
  .then( (data) => {
    this.setState({data: data});
   })
  .catch( (error) => console.log(error) )
  .done();

捕获错误将允许程序继续运行而不会崩溃。

答案 2 :(得分:0)

在我的情况下,问题不在代码中。我没有网络时就开始模拟器了。我在模拟器上登录到wifi点网络后仍然没有运行。我重新启动了模拟器 - 一切正常。

所以:

  1. 连接到网络。

  2. 重新启动模拟器。

  3. 如果没有帮助,请检查您的代码。

答案 3 :(得分:0)

我也经常遇到这个问题React Native Fetch Request Fails

在我的情况下,API调用的响应大约是5kb,因此我从API响应中删除了不必要的数据,并将结果大小减小到大约1kb,并且所有数据都开始工作。

因此,请尝试限制您从API请求的数据。

相关问题