CORS过滤器仅在Chrome中为POST提供403

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CORS过滤器仅在Chrome中为POST提供403相关的知识,希望对你有一定的参考价值。

我在Tomcat中有以下配置。从本地计算机浏览器向远程服务器发出POST请求时出现403错误。我使用EASYUI JQuery组件,它们在IE10 +和Firefox上运行良好!只有铬正在抱怨这个。任何人都可以吗?

  <filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
答案

通过POST发送JSON对象时遇到同样的问题,并通过显式设置JSON内容类型标头解决:

var config = { headers: {
    'Content-Type': 'application/json'
    }
};

$http.post(url, config)
.success
...

Chrome似乎无法自动检测内容类型以及Firefox等。

以上是关于CORS过滤器仅在Chrome中为POST提供403的主要内容,如果未能解决你的问题,请参考以下文章

Angular 应用程序仅在 chrome 中出现 CORS 错误

CORS 预检请求返回“403 Forbidden”;随后的请求,然后仅在 Chrome 中发送

使用 MapBox loadImage 函数时,仅在 Chrome 中出现 AWS S3 CORS 错误

Chrome 扩展中的 CORS HTTPS 到 HTTP 网络服务

400 仅在启用 cors 时响应 asp.net web api POST 请求

CORS:在成功的 OPTIONS 请求后,Firefox 不发送 POST 请求......适用于 Chrome 和 IE