【问题标题】:I can't get data from a public API : Access-control-allow-origin missing我无法从公共 API 获取数据:Access-control-allow-origin missing
【发布时间】:2019-04-14 13:27:50
【问题描述】:

我想从公共 API 获取数据: https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=1500&CMC_PRO_API_KEY=...

我不明白为什么会收到 CORS 错误

这里有一个非常简单的 Fiddle JS 来查看错误:http://tpcg.io/51kVwI

感谢您的帮助:)

【问题讨论】:

  • “公共 API”不一定配置为使用适当的跨域标头进行响应。它可能是公开的,但设计用于从服务器而非浏览器中使用。
  • 我在 chrome 中运行了这个。我没有收到任何错误。
  • 您刚刚泄露了您的 API 密钥,如果可以的话,您可能想撤销它并生成一个新的...
  • CoinMarketCap 常见问题解答回答了您的问题:coinmarketcap.com/api/faq,“API 错误和警告”部分,问题:“为什么我在尝试使用 API 时收到 Access-Control-Allow-Origin 错误? "

标签: javascript jquery ajax


【解决方案1】:

发件人:https://coinmarketcap.com/api/documentation/v1/#section/Quick-Start-Guide

注意:目前禁止通过 CORS 配置在客户端使用 Javascript 发出 HTTP 请求。这是为了保护您的应用程序用户不应该看到的 API 密钥,这样您的 API 密钥就不会被盗。通过您自己的后端服务路由调用来保护您的 API 密钥。

他们有通过服务器发送请求的示例代码,例如 Node.js。

【讨论】:

    【解决方案2】:

    无法在 Javascript 中隐藏 API Key,这就是端点不允许客户端(Javascript)调用它的原因。您将需要从服务器端发出请求。有几个免费的无服务器选项,AWS Lambda、Google Cloud Functions、Azure Functions。

    【讨论】:

      猜你喜欢
      • 2018-03-28
      • 2023-01-12
      • 2022-09-27
      • 2021-11-29
      • 2015-06-10
      • 2017-06-15
      • 2021-02-02
      • 1970-01-01
      • 2013-01-20
      相关资源
      最近更新 更多