如何在Expo应用上使用Axios从后端获取数据

时间:2020-06-19 05:24:46

标签: react-native axios expo

我正在尝试从我的Flask后端发出一个Get请求,以便在我的expo react-native应用程序的Web浏览器仿真上工作。不幸的是,Web浏览器模拟器似乎没有使用与系统其余部分相同的内部IP地址。

这是我来自package.json的代理人:"proxy": "http://127.0.0.1:50001"

然后在expo react-native应用上我的axios请求:

axios.get('/').then(function (response) {
        console.log(response.data);
      })
      .catch(function (error) {
        console.log("error");
      });

邮寄来自后端的请求效果很好,我得到了预期的.json结果。但是,expo react axios请求会从expo应用程序本身接收整个index.html文件。

2 个答案:

答案 0 :(得分:0)

如果您的服务器和移动设备位于同一网络中,请使用服务器/系统的本地IP代替127.0.0.1。

要查找本地ip,请在终端中运行ipconfig(对于Windows)或ifconfig(对于linux / mac)

答案 1 :(得分:0)

您必须找出PC的IP地址,然后才能针对它获取(或axios)。

提示:您必须使用您的真实IP地址,而不是whatsmyip sh * t!

示例:我有一个api /登录路线,我的ip是192.164.50.44 +端口是8080,那么我可以执行以下操作:

fetch("http://192.164.50.44:8080/api/login") 

ofc,您可以使用axios代替fetch。