为啥开发控制台停止我的请求显示 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 错误而其他休息工具没有的主要内容,如果未能解决你的问题,请参考以下文章