CORS使用Axios / Github执行获取请求的问题

时间:2019-03-07 04:35:38

标签: javascript node.js reactjs oauth axios

我正在尝试使用Axios通过OAUTH API进行身份验证。初始请求只是获取认证令牌的简单GET

  axios.get(
    "https://github.com/login/oauth/authorize?client_id=$ID"
  ).then((res) => { console.log(res) })

我立即得到:

  

...来自来源“ http://localhost:3001”的信息已被CORS策略阻止:请求的资源上没有“ Access-Control-Allow-Origin”标头。

我可以使用href链接,它可以很好地工作。这里可能是什么问题?

1 个答案:

答案 0 :(得分:0)

简单来说,当您使用锚标记时,它是原始站点的链接。当用户单击标签时,用户将被重定向到该站点。但是,当AJAX请求用户将留在您的站点中并将ajax请求发送到服务器(在这种情况下为github)。

使用HTTP协议时,有一个标头调用源,它将告诉后端服务器用户来自哪里,请参见下图 enter image description here

因此,如果服务器不允许除自身以外的其他来源,则此安全检查将失败,并且AJAX请求将不会成功。如果您需要更多说明,请告诉我,我们将很乐意为您提供帮助。希望有帮助。