我在我的react-native Android应用程序中使用fetch API来向本地API发出请求.我通常在
http://localhost:8163处从反应网络应用程序查询所述API.
我正在调试器模式下在我的物理设备上测试我的应用程序.我读到某个地方反应本机不能像web应用一样查询localhost.显然你必须使用http://10.0.2.2:[PORT_NUMBER_HERE]/这是根据Android模拟器底座的`http://127.0.0.1:[PORT_NUMBER_HERE]的别名.我不确定这是否是我应该在物理设备上进行测试的.
我的获取代码如下所示:
fetchToken() {
fetch('http://10.0.2.2:8163/extension/auth',{
method: 'GET',headers: {
'Accept': 'application/json','Content-type': 'application/json'
}
})
.then((response)) => console.log('successful fetchToken response: ',response.json()))
.catch((error) => console.log('fetchToken error: ',error))
.done();
}
请求总是挂起一段时间然后到达catch块并且无效错误TypeError:网络请求失败(…).检查我的本地API的日志,他们根本不会注册请求.
所以我不知道我是否正确查询我的本地API以获取我想要的资源,如果我是,我不知道为什么获取失败.