【问题标题】:React Native Android api call returning 'Error: Network Error' to local databaseReact Native Android api 调用返回“错误:网络错误”到本地数据库
【发布时间】:2019-12-01 22:34:45
【问题描述】:

使用 axios 并承诺调用本地数据库 api,无论我尝试什么,我都无法到达端点,我不断收到“错误:网络错误”控制台反馈,但没有任何关于问题真正原因的消息。

我通过使用 android 系统 localhost https://10.0.2.2:5001/api/[endpoint] 提供正确的端点,当我在 chrome 浏览器中转到此端点时,它显示正确的 JSON,但应用程序似乎无法获取数据。

已为清单打开 Internet 权限。

axios
    .get('https://10.0.2.2:5001/api/[endpoint]')
    .then(response => console.log(response))
    .catch(error => console.log(error));

【问题讨论】:

  • 查看 Android Studio 的 logcat 以获得完整的错误。您是否在另一个链接上进行了测试?例如 google.com
  • 我们已经测试了 JSONplaceholder 网站,它准确地解析了 Promise,并且可以记录响应的数据。
  • 你可以试试console.log(typeof response)console.assert(response)
  • @hongdevelop 与 typeof 无关,根本没有连接。 React Native 应用程序无法连接到正在运行的本地数据库,因此我可以访问 API 的端点。我试图运行adb reverse tcp:5001 tcp:5001以使模拟器使用该端口,但这似乎不起作用

标签: typescript api react-native axios


【解决方案1】:

所以获得模拟器的工作方式是使用 ngrok 然后运行ngrok http https://localhost:[port] -host-header="localhost:[port]"

这会将本地主机端口转发到可以调用的网站。

【讨论】:

    猜你喜欢
    • 2022-12-10
    • 2022-06-18
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    相关资源
    最近更新 更多