Reactjs 为什么我的Axios fetch出现CORS错误?

Reactjs 为什么我的Axios fetch出现CORS错误?,reactjs,api,axios,cors,Reactjs,Api,Axios,Cors,我花了3个多小时试图研究并找到解决方案。我已经看过了许多关于StackOverflow的其他答案,但没有任何帮助。我的研究列表在底部 我正在尝试访问公共API 当我执行curl时,它是完全可访问的 当我尝试在React应用程序中访问它时,我得到一个错误 这是我的密码: const-API='1〕https://btcilpool.com/api/status'; 常量配置={ 标题:{ “访问控制允许来源”:“*”, “内容类型”:“应用程序/json”, }, }; get(API,confi

我花了3个多小时试图研究并找到解决方案。我已经看过了许多关于StackOverflow的其他答案,但没有任何帮助。我的研究列表在底部

我正在尝试访问公共API

当我执行
curl
时,它是完全可访问的

当我尝试在React应用程序中访问它时,我得到一个错误

这是我的密码:

const-API='1〕https://btcilpool.com/api/status';
常量配置={
标题:{
“访问控制允许来源”:“*”,
“内容类型”:“应用程序/json”,
},
};
get(API,config);
以下是错误:

GET https://btcilpool.com/api/status net::ERR_HTTP2_PROTOCOL_ERROR
Uncaught (in promise) Error: Network Error
    at createError (createError.js:16)
    at XMLHttpRequest.handleError (xhr.js:84)
Uncaught (in promise) TypeError: Failed to fetch

以下是API的外观:

/20210407103327
// https://btcilpool.com/api/status
{
“x17”:{
“名称”:“x17”,
“港口”:3737,
“硬币”:1,
“费用”:3,
“哈希速率”:0,
“工人”:282人,
“当前估计值”:“0.00000000”,
“最近24小时的估计值”:“0.00000000”,
“实际24小时”:“0.00000”,
“mbtc_mh_系数”:1,
“hashrate_last24h”:7143330385.0569
}
}
我的研究:


CORS要求由主机设置,除了询问主机是否允许CORS头之外,您无能为力

解决方法是使用代理。因此,您将在自己的服务器上发出请求,并将结果传递回客户端

下面是一个免费代理的示例,但我不建议在生产环境中这样做:

// This will result in your error
axios
 .get('https://btcilpool.com/api/status')
 .then((response) => console.log('Response', response))
 .catch((error) => console.log('Error', error))
 

// This will give you your expected result
axios
 .get(`https://api.allorigins.win/get?url=${encodeURIComponent('https://btcilpool.com/api/status')}`)
 .then((response) => console.log('Response', response))
 .catch((error) => console.log('Error', error))

这是否回答了您的问题?基本上,它是说CORs错误需要在API方面修复,而不是在React方面修复@非常感谢,这很有效。。。我将与API人员交谈,并尝试让他们将
CORS:
添加到他们这边。