当前位置: 首页 > 知识库问答 >
问题:

React Native Fetch远程Http请求抛出网络请求失败(在Android设备上)

闽涵蓄
2023-03-14

我正在尝试访问本地计算机上的远程HTTP Api。这个API在邮递员和我本地机器上的Chrome上都工作得很好。但是,当使用Expo React本地Fetch进行Fetch调用时,我会遇到以下错误:

网络请求失败

componentDidMount() {
  const url = (Remote Http URL);
  this.setState({
    loading: true
  });
  fetch(url)
    .then(res => res.json())
    .then(res => {
      this.setState({
        loading: false,
        error: res.error || null,
        data1: res
      }, () => {
        console.log(res);
      });
    })
    .catch(error => {
      this.setState({
        error,
        loading: false
      }, () => {
        console.log(error);
      });
    });
}

请帮助我解决这个问题。谢了。

共有1个答案

岑元徽
2023-03-14

对于这个问题,我找到的唯一解决方案是将url设置为我的IP地址作为主机(因为我的手机React Native运行方式与后端不同)。最后,将后端设置为0.0.0.0:8080似乎解决了这个问题。至少暂时如此。

 类似资料:
  • 我正在尝试从mocky接收一些简单的json。 反应本机提取函数: 远程调试器出错

  • 问题内容: 当我使用(RN版本0.29.1)创建一个全新的项目并将提取内容放入公共Facebook演示电影API的render方法中时,它将引发。堆栈跟踪非常无用,我无法在chrome控制台中调试网络请求。这是我要发送的内容: 问题答案: 这里的问题是,iOS默认情况下不允许HTTP请求,仅允许HTTPS。如果要启用HTTP请求,请将其添加到您的:

  • 当我使用(RN版本0.29.1)创建一个全新的项目,并将render方法中的一个fetch放到公共facebook演示电影API中时,它会抛出一个。有一个非常无用的堆栈跟踪和我不能调试网络请求在chrome控制台。以下是我正在发送的fetch:

  • 这是我的第一个问题。我对API上的http请求有问题。当我发出请求时,控制台上会显示以下错误: 异常:找不到不同类型'对象'的支持对象'[对象对象]'。NgFor仅支持绑定到Iterable,如Array。 每个文件的内容如下: 靴子ts 应用程序。组成部分ts peli.service.ts peli.ts 以及我从请求中收到的JSON文件(输入-蜘蛛侠): 我不知道问题出在哪里,一切似乎都很好

  • 我发现(问题)在Android SDK Platform 23(Android 6)上获取请求成功结束,但在Android SDK Platform 24(Android 7)上我有错误“网络请求失败”: 错误: 我使用的是RN 0.46.3。 这可能是什么原因? 编辑:我测试了22到26的API版本,问题仅出在API 24(Android 7.0)上。在其他API版本上,请求成功结束。 编辑2:

  • 我面临一个非常奇怪的问题: 我尝试获取一个反应本机应用程序。在物理iPhone一切正常,在模拟器上我得到错误“网络请求失败”。 API是https,我已经更改了信息。plist允许NSAllowsArbitraryLoads。 我nfo.plist: 我建议是证书之类的。