react 跨域问题

发布于 2022-09-06 05:42:20 字数 1430 浏览 16 评论 0

需求:解决create-react-app创建项目跨多个域

练手写个斗鱼直播,用create-ract-app创建的项目,调用斗鱼公开的API

尝试

跨域设置:

//package.json加入
  "proxy": "http://open.douyucdn.cn",

可以访问该域下的api。
但是这只能有一个代理,我想继续使用其它域下的API就满足不了需求

网上查到可以这样:
//package.json中加入
  "proxy": {
    "/api/RoomApi": {
      "target": "http://open.douyucdn.cn"
    }
  },

看起来这种可以满足需求。
npm start试一下

clipboard.png

貌似设置了代理,访问一下看看是否成功

clipboard.png

clipboard.png

一脸茫然,

下面是相关请求信息

clipboard.png

clipboard.png

clipboard.png

问题

请问该如何设置proxy,能满足可以调用不同域下API的需求。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

╰つ倒转 2022-09-13 05:42:21
//package.json中加入
//some scripts
,
  "proxy": {
    "/api/RoomApi": {
      "target": "http://open.douyucdn.cn",
      "changeOrigin":true
    },
    "/api/v1":{
      "target":"http://capi.douyucdn.cn",
      "changeOrigin":true
    }
  }

加入"changeOrigin":true,使得允许跨域访问,完美解决。
npmjs.com 中并未找到 package.json 关有 proxy 字段及其说明。

反差帅 2022-09-13 05:42:21

1.首先你要确认一下你用postman直接请求斗鱼的api是否成功
2.确认一下proxy代理的api最终请求路径是否和斗鱼的一致,看你这样的配置应该是把所有的api请求都转到了http://open.douyucdn.cn根路径了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文