reactjs - 从 React 应用程序调用 heroku API,错误 200
问题描述
我创建了一个小 API,用于抓取火车到达/出发的网页。我将它托管在 Heroku 上,当我访问页面时:https ://sl-scraper.herokuapp.com/fromstockholm我可以看到我期望的 JSON 响应。它看起来像这样:
到目前为止一切都很好。现在我希望在我的 React 应用程序中获取这些数据,以便以更好的方式显示它。这是我遇到问题的地方。我试图以两种方式获取信息,两种方式都会导致同样的问题。
这是第一次尝试:
React.useEffect(function(){
axios.get("https://sl-scraper.herokuapp.com/fromstockholm")
.then(response =>{
console.log(response);
})
.catch(err => console.log(err));
},[]);
这是第二次尝试:
React.useEffect(()=>{
fetch("https://sl-scraper.herokuapp.com/fromstockholm")
.then(response => {
return response.json();
})
.then(data => {
console.log(data);
})
.catch(error => console.log(error));
},[]);
当我检查日志时,这两种尝试都会导致此问题:
从源“http://localhost:3000”访问“https://sl-scraper.herokuapp.com/fromstockholm”的 XMLHttpRequest 已被 CORS 策略阻止:不存在“Access-Control-Allow-Origin”标头在请求的资源上。
有谁知道我为什么会收到这些错误?非常感谢你。
解决方案
将 CORS-Anywhere 存储库克隆到我们的 PC
我们已经设置好环境,我们可以继续将CORS-Anywhere 存储库克隆到我们 PC 上的选定目标中。
作为开发人员,总是很高兴感谢其他开发人员的努力,他们通过向他们的方向发送某种形式的支持来提供使我们的生活更轻松的解决方案,所以如果它可以帮助您解决问题。
首先,我们将在要在本地放置 CORS-Anywhere 服务器的本地存储目录中打开终端并运行 git 命令:
git clone https://github.com/Rob--W/cors-anywhere/
克隆完成后,我们必须通过在终端上运行命令npm install来安装该项目所依赖的所有包:
npm 安装
之后部署您的 heroku 应用程序。
参考:https ://dev.to/imiebogodson/fixing-the-cors-error-by-hosting-your-own-proxy-on-heroku-3lcb
推荐阅读
- angular - 使用不记名令牌和 net::ERR_CERT_AUTHORITY_INVALID 错误的远程 API 调用
- sql - 如何计算雅典娜(Presto)中2个时间戳之间的差距?
- asp.net - 使用 SelectPDF 导出 JQGrid,链接的 JQGrid 中没有数据
- sql - 需要将这两者之间的差异作为输出
- database - 为什么最后一份工作在 DolphinDB 中不起作用
- doctrine-orm - 从查询中返回奇怪字段名称的学说
- angular - 如何从 get 函数中显示用户项目?
- ios - 我想要导航栏中后退按钮的自定义图像,但有 2 个后退按钮
- python - 使用 ADC 串行 Arduino 在 Python 实时绘图中定义 *def animation[i]*
- php - 当整数在重力形式 GFAPI::get_entries 过滤器中正常工作时变量不起作用