【问题标题】:'No Access-Control-Allow-Origin header' Error when fetching data from Deezer Api [duplicate]从 Deezer Api 获取数据时出现“无 Access-Control-Allow-Origin 标头”错误 [重复]
【发布时间】:2020-10-11 12:28:24
【问题描述】:

我正在创建一个从 Deezer Api 获取数据的 React 应用程序

目前,我正在尝试获取热门专辑https://api.deezer.com/chart/0/tracks:

我创建了一个请求数据的函数

fetchTopAlbums = () => {
    return fetch('https://api.deezer.com/chart/0/tracks', { 'Accept': 'application/json', })
      .then((res) => res.json())
  }

在调用此函数时,我在控制台中收到此错误

Access to fetch at 'https://api.deezer.com/chart/0/tracks' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Error Image can be accessed here

【问题讨论】:

  • 你为什么不研究一下什么是 cors。
  • 你需要添加cors到你的服务器

标签: javascript reactjs api fetch restful-authentication


【解决方案1】:

deezer api 正在限制从网站进行的 API 调用。它这样做是为了专门阻止您尝试执行的操作。一般来说,这是CORS 的目的是阻止意外网站访问其他网站的后端。一些服务允许任何站点访问它们,而另一些服务则要求您通过您所在端与相关 API 之间的后端访问该服务。

【讨论】:

  • 好的,我相信我现在理解得更好了。谢谢
猜你喜欢
  • 2017-07-13
  • 2017-03-03
  • 2018-08-26
  • 2022-07-03
  • 2017-12-30
  • 1970-01-01
  • 2017-01-28
  • 2016-04-15
  • 2015-01-24
相关资源
最近更新 更多