【发布时间】:2019-01-06 03:11:42
【问题描述】:
我正在客户端的 ReactJS 中发出一个非常简单的 API axios.get 请求。但是,它在我的浏览器中被 CORS 阻止。所以没有数据被返回。
我知道我需要在服务器端发出这个请求,但我不确定我应该如何重构下面的代码(写在服务器端)。
任何关于如何重写此代码的提示,将不胜感激!
谢谢,
// MAKE JOB API REQUEST
componentDidMount() {
console.log('COMPONENT DID MOUNT');
axios.get('https://jobs.github.com/positions.json?search=')
.then(res => {
console.log('jobs', res.data.slice(0, 9));
this.setState(
{ jobs: res.data.slice(0, 9) }
);
});
}
【问题讨论】:
-
在您的服务器中创建一个路由,然后将请求发送到
https://jobs.github.com/positions.json,并将 github 响应作为响应发送回。 -
CORS 必须由服务器的所有者设置才能工作,你可以通过在 php 页面上加载这个 githuburl 并用 axios 加载这个 php 页面来作弊(我不知道这是否是最好的解决方案)
-
@Tholle - 谢谢 - 我该怎么做?
-
@Reena Verma 我认为他的意思是 apache/nginx 上的一条路由,它将本地路径路由到外部路径,即 proxypass
-
@ReenaVerma 这取决于你有什么样的服务器。
标签: node.js reactjs api express cors