为啥开发控制台停止我的请求显示 CORS 错误而其他休息工具没有

Posted

技术标签:

【中文标题】为啥开发控制台停止我的请求显示 CORS 错误而其他休息工具没有【英文标题】:Why dev console stops my request showing CORS error while other rest tools aren't为什么开发控制台停止我的请求显示 CORS 错误而其他休息工具没有 【发布时间】:2019-08-05 11:58:56 【问题描述】:

我不明白为什么当我打开 Web 浏览器并使用 fetch API(在开发控制台中)调用一些 API url 时出现 CORS 错误,但是当我使用 IntelliJ 执行此操作时一切都很好。

API 服务器在其 nginx 配置中有以下标头

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "POST, GET, PATCH, DELETE, PUT, OPTIONS";
add_header Access-Control-Allow-Headers "Origin, Authorization, Accept";
add_header Access-Control-Allow-Credentials true;

【问题讨论】:

浏览器错误说明了什么? 谢谢,我只需要在 fetch api 调用中添加方法:“no-cors”。我并没有真正阅读整个错误消息,我只看到了一个很大的“CORS”字 【参考方案1】:

我只需要添加

mode: "no-cors"

获取API调用

【讨论】:

不是一个很好的答案,因为您在问题中声明允许PATCH, DELETE, PUT, OPTIONS 的方法在no-cors 模式下仍然会失败。

以上是关于为啥开发控制台停止我的请求显示 CORS 错误而其他休息工具没有的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 CORS 请求因 http 401 错误而失败

为啥我会收到 CORS 错误原因:CORS 请求未成功

为啥我的程序停止并显示错误消息?

为啥我在角度请求中收到此错误? (CORS)

在对 Apache2 进行安全更新后,我的 CORS 请求开始失败。我不知道为啥。

为啥我的简单提取会触发 CORS 错误?