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