首页 > 解决方案 > 来自原点“xxx”的 CORS 策略已阻止:

问题描述

我正在尝试来自浏览器的最基本get请求,但由于 COR 问题而失败。

axios.get(
  "https://github.com/login/oauth/authorize?client_id={ID}"
);

是不是不可能从浏览器发出这个请求?我试图了解如何单击按钮并使此链接正常工作。

来自原点“ http://localhost:3001 ”的 CORS 策略已阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。

标签: javascriptnode.jsgithubcorsaxios

解决方案


简单的答案是否定的。

未经服务器许可,您不能调用任何端点(不同来源)。

好的!我知道了。但为什么?这个怎么运作 ?

它被称为 CORS (跨域资源共享)。总而言之,它是一种浏览器安全性。浏览器会阻止您以阻止此类请求。

好的!但是浏览器怎么知道我没有权限或者我在作弊。:D

好吧,如果您检查浏览器的网络选项卡,浏览器会使用OPTION方法向服务器发送一个请求(在实际请求之前)。在请求的响应中,服务器告诉浏览器它是否是有效的请求。

有关更多详细信息,请阅读 MDN https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS


推荐阅读