【发布时间】:2023-03-15 12:43:01
【问题描述】:
我正在使用fetch() 从我的服务器(在我的本地机器上运行)获取一些数据。当我在 Android 模拟器中运行我的 React Native 应用程序时,它运行良好。但是当我尝试在我的 USB 连接的 Android 手机上运行它时,它返回错误:TypeError: Network request failed。我尝试访问的主机 IP 设置为 http://10.0.2.2:8080/
这是我的获取代码:
fetch(constants.HOST, {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: "user=" + user
})
.then(response => response.json())
.then(json => {
.....
})
.catch( err => console.log("fetch error",err));
我看到几个答案建议将<uses-permission android:name="android.permission.INTERNET" /> 添加到 AndroidManifest.xml 文件中。我已经添加了,但仍然出现错误。
编辑:请注意,请求最多两分钟内不会返回错误。它永远不会立即抛出错误。
【问题讨论】:
-
您是否尝试过此处的任何说明来调试设备上的问题? stackoverflow.com/questions/43415884/…
-
可以通过电话联系到
10.0.2.2吗? -
什么是“可达”?在网络浏览器中导航?当它通过 USB 连接时?
标签: android react-native fetch