请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请教create-react-app的proxy配置问题

请教create-react-app的proxy配置问题;
图片描述
按上述地址设置charles后,由于本地使用localhost:3000访问,所以存在跨域问题。所以我尝试设置proxy解决。
于是我在package.json中添加内容:
图片描述
发送ajax请求后后报如下错误,那么ajax请求自然也就发不成功。由于报错信息太少,一时没查到原因,遂换了种方式:
图片描述
在src目录下添加了proxy配置,依旧报类似的错。

通过浏览器访问请求URL是可以得到结果的。
图片描述

所以觉的很奇怪,想请解惑一下。

正在回答 回答被采纳积分+3

插入代码

2回答

提问者 失落的猫咪 2019-04-15 20:06:24

有其他同学遇到和我一样的问题吗,欢迎来讨论,我暂时没发现自己使用charles过程中哪里出了问题,会导致设置proxy时ERROR。

0 回复 有任何疑惑可以回复我~
  • 你好,你后来怎么解决的,因为网上不推荐用charles,直接用webpack配置,我在src下新建setupProxy.js运行yarn start就会报错,不添加没问题,主要为了访问本地的mock数据
    回复 有任何疑惑可以回复我~ 2020-12-23 19:10:24
Dell 2019-04-15 11:42:45

proxy配置的路径最后再加一个 / 试试

0 回复 有任何疑惑可以回复我~
  • 提问者 失落的猫咪 #1
    [HPM] Error occurred while trying to proxy request /api/app from localhost:3000 to http://localhost.charlesproxy.com/ (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system
    _errors)
    
    还是不行。  
    
    我待会新建个项目单独配一下这里试试。  总共就一两个参数配了报错,这种简单问题错了感觉有点迷...
    感觉不是配置本身的问题,而是哪里没注意到。
    回复 有任何疑惑可以回复我~ 2019-04-15 11:56:01
  • 提问者 失落的猫咪 #2
    这个问题只是初步解决了。
    1、我重新建了个新前端项目,重新对localhost.charlesproxy.com这个路径做了代理,依旧不行。
    2、我又自己搭了个服务端,写了个接口,不使用charles模拟。用“1”中同样的方式设置代理,是可以正常发ajax请求并拿到返回值的。
    所以目前能把问题原因缩小为:
    create-react-app的proxy api本身没问题,我的配置也没问题,但在给charles的localhost.charlesproxy.com做代理就迷之不行。
    
    后面我可以在自己的服务端mock数据,把这个问题绕过去。
    等以后再找具体原因。
    
    同时也建议老师针对这节课使用到的charles在最近发生的一些变化(即、无法抓到localhost域名下的包)追加一点内容。
    因为不解决localhost.charlesproxy.com导致的跨域问题,就没法正常获取返回值,就没有使用charles的意义了。
    回复 有任何疑惑可以回复我~ 2019-04-15 19:52:21
  • Dell 回复 提问者 失落的猫咪 #3
    实际上你把localhost改成127.0.0.1就可以了
    回复 有任何疑惑可以回复我~ 2019-04-16 21:38:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信