所以我有一个函数,当单击按钮时起作用,并且在该函数内部,有一个fetch方法将一些数据发布到后端(烧瓶) 当我使用真正的android设备(注释9和注释3)时,它什么也不会发布,也没有出现任何错误,同时android模拟器可以正常工作并发布数据。
我为该问题找到的解决方案是使用内部IP地址而不是localhost。但这对我也不起作用。如果我使用localhost或127.0.0.1,则会收到“网络请求失败”。我也尝试使用axios,但得到了相同的结果。
getloc = () => {
setInterval(() => {
fetch("http://192.168.1.107:5000/api/echo", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify({
x: "0",
y: "0"
})
})
.then(response => response.json())
.then(responseJson => {
this.setState({
xMaster: responseJson.x
});
this.setState({
yMaster: responseJson.y
});
})
.catch(error => {
console.error(error);
});
}, 3000);
};
答案 0 :(得分:1)
向您的app.run()
添加参数。默认情况下,它在本地主机上运行,将其更改为app.run(host= '0.0.0.0')
以在您的计算机IP地址上运行。
在Quickstart page的“外部可见服务器”下的Flask网站上记录: