【问题标题】:CORS issue on UI while making call to third party API [duplicate]调用第三方 API 时 UI 上的 CORS 问题 [重复]
【发布时间】:2020-09-25 16:48:24
【问题描述】:

CORS 问题已经困扰了一段时间。我知道几个解决方案:

1) CORS:*(不推荐)

2) 为 API 调用创建代理。

我正在寻找其他一些更简单的解决方案。我知道这可能是一个重复的线程/问题,但事情已经发展,我希望得到另一个解决方案。

PS:我使用 Angular 作为前端框架。

【问题讨论】:

  • 为什么您认为代理不是更简单的解决方案?只需最少的配置,它的效果就非常棒。
  • 如果您正在调用第三方 API,您无法解决 CORS 问题,因为 CORS 是一种服务器端安全功能,可防止不受欢迎的请求。如果 API 返回 CORS 错误,也许您不应该调用它...
  • 您不能使用自己的 CORS 标头。您必须说服所涉及的第三方自己对他们的服务器执行此操作。
  • “我知道这可能是一个重复的线程/问题,但事情已经发展了”——不要问重复的问题。 Issue a bounty 如果您认为答案不够充分,请关注现有问题。
  • 我知道 angular 中的 proxy.conf.json 使用起来更简单,但我们只能将它与 ng serve 一起使用。有没有办法为 ng build --prod. 配置文件?

标签: javascript angular cors


【解决方案1】:

除了您提到的那些之外,处理 CORS 的另一种解决方案是使用可以附加到 API url 调用的第三方代理 URL。

例如,例如,

var proxy = https://cors-anywhere.herokuapp.com/;
var url = proxy + "http://example.com" //now make your http request with this.

使用第三方代理 URL 的缺点是您必须依赖它们。万一他们宕机了,你将无法提出请求。

如果您正在使用 Angular,我认为 proxy 更可取,这就是我在遇到此问题时的处理方式: https://stackoverflow.com/a/44537898/4650975

【讨论】:

    猜你喜欢
    • 2021-04-08
    • 1970-01-01
    • 2019-02-05
    • 2020-11-14
    • 1970-01-01
    • 2019-03-12
    • 2021-07-27
    • 1970-01-01
    • 2018-12-10
    相关资源
    最近更新 更多