首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >本地访问的react应用程序不执行API调用[CRA]

本地访问的react应用程序不执行API调用[CRA]
EN

Stack Overflow用户
提问于 2020-03-10 03:19:14
回答 1查看 242关注 0票数 0

我正在使用CRA设置我的react应用程序。

我想问一下,如何让本地访问的react应用程序进行API调用。为了解释我的问题,我只能通过描述它来解释它。

所以目前,我的机器的IP地址是192.168.1.2。我的后端服务器在192.168.1.2:3000上运行(如果我在浏览器上点击192.168.1.2:3000/customers,我会得到json响应),我的前端在192.168.1.2:3001上运行

如果我从我的笔记本电脑浏览器打开http://localhost:3001http://192.168.1.2:3001,所有组件都会呈现,它会呈现加载的组件,不久之后列表就会呈现。(如果我检查我的后端服务器,我可以看到我的服务器收到了GET请求)

然而,如果我从我的手机打开http://192.168.1.2:3001,所有组件都会呈现,但它停留在加载组件上。当我检查我的后端服务器时,它根本没有收到任何请求。因此,从我可以看到的是,通过从宿主机器外部本地访问我的react应用程序,该应用程序将不会进行任何API调用。

我该如何解决这个问题?我做过的事情:

在package.json中添加proxy:http://localhost:3000和proxy:192.168.1.2:3000(两者都不起作用)

将" start“脚本更改为:"HOST=0.0.0.0 react-scripts start”和"react-scripts start --host=0.0.0.0“(两者都不起作用)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-10 03:34:50

我最好的猜测是,您正在从localhost中获取类似于以下内容的数据:

代码语言:javascript
运行
复制
fetch("http://localhost:3000/customers")

proxy在配置文件中不工作的原因是您需要从fetch中删除"http://localhost:3000“。否则,它仍会using该api的localhost,而不使用代理设置。所以它应该看起来像这样:

代码语言:javascript
运行
复制
fetch("/customers")

当然,如果没有可重复的示例,很难判断这是否是您遇到的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60607042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档