首页 > 解决方案 > 尝试从 localhost 访问 api 时如何解决“Access-Control-Allow-Origin”错误

问题描述

看过很多关于这个错误的话题,但是我对js和apis很陌生,所以我不太了解,所以我为noob状态道歉。

我正在尝试从 Sportradar 访问 api。我正在一个从 create-react-app 创建并使用 axios 的简单反应项目上对其进行测试。当我控制台记录数据时,我收到以下错误:https ://dzwonsemrish7.cloudfront.net/items/372w3g2b3F141t2P0K1G/Image%202018-09-04%20at%2011.33.38%20AM.png

我想我无法从本地主机访问它?这是我的请求功能:

getPlayerInfo() {
  const apiKey = "my-api-key";
  const playerID = "41c44740-d0f6-44ab-8347-3b5d515e5ecf";
  const url = `http://api.sportradar.us/nfl/official/trial/v5/en/players/${playerID}/profile.json?api_key=${apiKey}`;


  axios.get(url).then(response => console.log(response));
}

标签: javascriptreactjsapixmlhttprequestaxios

解决方案


如果后端支持 CORS,您可能需要在请求中添加此标头:

headers: {"Access-Control-Allow-Origin": "*"}

您的代码将是这样的:

getPlayerInfo() {
  const apiKey = "my-api-key";
  const playerID = "41c44740-d0f6-44ab-8347-3b5d515e5ecf";
  const url = `http://api.sportradar.us/nfl/official/trial/v5/en/players/${playerID}/profile.json?api_key=${apiKey}`;
  const config = {
    headers: {'Access-Control-Allow-Origin': '*'}
  };


  axios.get(url,config).then(response => console.log(response));
}

希望这可以帮助 !


推荐阅读