在 React native + expo 中获取抛出网络请求失败

Posted

技术标签:

【中文标题】在 React native + expo 中获取抛出网络请求失败【英文标题】:fetch throwing Nework request failed in React native + expo 【发布时间】:2021-11-28 19:42:30 【问题描述】:

我目前正在尝试从我的 android 反应本机应用程序向 Flask API 发送请求。问题是,fetch 总是抛出相同的错误,Network request failed。我一直在环顾四周,但我找到的答案都不适用。我已经确保请求发往正确的地址和端口,看起来一切都很好。我尝试使用 Postman 发出相同的请求,它工作正常,所以我知道服务器正在工作。

这是我的代码:

function apiRequest(path, method, body = "") 
  const url = path;

  console.log("going");
  console.log(url);
  fetch(url, 
    method: method,
    headers: 
      "Cache-control": "no-cache",
    ,
    body: body,
  )
    .then((response) => 
      if (response.ok) 
        if (response.status == 204) 
          return true;
        
        return response.json();
      
      throw new Error(`$response.status: $response.body`);
    )
    .then((json) => 
      console.log(json);
      return json;
    )
    .catch((error) => 
      console.log("ERRORED:");
      console.error(error);
    );

var response = apiRequest(
  "http://192.168.2.244:5000/driver/register",
  "POST",
  JSON.stringify(
    name: name,
    email: email,
    password: password,
  )
);
console.log(`RES: $response`);

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

您应该尝试在标题中添加“Content-Type”: 标题: 接受:'应用程序/json', 'Content-Type': 'application/json' // 我添加了这一行

【讨论】:

以上是关于在 React native + expo 中获取抛出网络请求失败的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React Native expo 的下拉选项中动态获取 api 数据

React Native - 从 expo-camera 获取帧

如何在 expo react native 中使用 sqlite 文件

使用 Expo 取消 React Native 中的异步获取请求

登录 Firebase React Native Expo 后无法获取用户数据

react-native-image-picker vs expo ImagePicker