当我尝试对kickstarter Staff pick json endpoint进行api调用时出现以下错误
这就是错误的确切样子
localhost /:1在以下位置访问XMLHttpRequest 来自的“ https://www.kickstarter.com/discover/recommended?format=json” 原产地“ http://localhost:3000”已被CORS政策禁止:否 请求中存在“ Access-Control-Allow-Origin”标头 资源。
我以前曾遇到此错误,但那是我尝试进行本地API调用时的错误。
我知道我可以在我的浏览器中启用cors,这可能可以修复该错误,但我正尝试避免该错误。
有什么想法或解决方法吗?
我正在使用axios进行api调用
axios.get("https://www.kickstarter.com/discover/recommended?format=json").then(response => {
[更新:] 有人还能帮我弄清楚如何在Promise中使用它。
let Base_url = axios.get(base_url)
let StaffPick = axios.get(staffPick)
return Promise.all(Base_url, StaffPick).then(response => {
员工选择的位置是https://www.kickstarter.com/discover/recommended?format=json 和 base_url 是:http://coincap.io/map
答案 0 :(得分:2)
尝试这样,它应该可以工作:
fetch(
'https://cors-anywhere.herokuapp.com/https://www.kickstarter.com/discover/recommended?format=json')
.then(response => response.json())
.then(data => console.log(data));
或与axios相当的产品...
这是代码沙箱上的实时演示:https://codesandbox.io/s/ox7wz9ny15
我们不是使用自己的代理服务器,而是使用以下服务器:https://github.com/Rob--W/cors-anywhere
注意:如果您想在生产中使用它,我建议您编写自己的代理服务器...有关CORS的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS