【记录所遇到的问题】跨域异常 - 使用CORS-FILTER.jar解决跨域问题
目录
【记录所遇到的问题】跨域异常 - 使用CORS-FILTER.jar解决跨域问题
Maven方式导入jar
<dependency>
<groupId>com.thetransactioncompany</groupId>
<artifactId>cors-filter</artifactId>
<version>2.5</version>
</dependency>
web.xml配置
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowGenericHttpRequests</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowSubdomains</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, HEAD, POST,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.exposedHeaders</param-name>
<param-value>X-Test-1, X-Test-2</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.maxAge</param-name>
<param-value>3600</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
关于富文本跨域不成功的问题
今天在做一个前后端分离项目的时候,遇到了跨域问题,就采用了CORS-FILTER.jar做了跨域处理。处理如下:
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, HEAD, POST,OPTIONS</param-value>
</init-param>
但在这个处理过程当中,我却忽略了富文本上传的问题,导致富文本上传新闻一直存在跨域问题,翻阅了W3C的资料应该在请求方式当中添加put方式,如下:
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, HEAD, POST,OPTIONS,PUT</param-value>
</init-param>
只需要添加PUT,文章上传的问题就处理完毕。