首页 > 代码库 > 服务器端解决ajax跨域问题

服务器端解决ajax跨域问题

这里描述以Tomcat为Web服务器情况下的解决办法,在Java Web程序的WEB-INF下的web.xml文件中加入如下配置即可。

<!--cors filter-->  <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>

在tomcat 官方文档中,有详细配置http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html 

<filter>  <filter-name>CorsFilter</filter-name>  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>  <init-param>    <param-name>cors.allowed.origins</param-name>    <param-value>*</param-value>  </init-param>  <init-param>    <param-name>cors.allowed.methods</param-name>    <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>  </init-param>  <init-param>    <param-name>cors.allowed.headers</param-name>    <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>  </init-param>  <init-param>    <param-name>cors.exposed.headers</param-name>    <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>  </init-param>  <init-param>    <param-name>cors.support.credentials</param-name>    <param-value>true</param-value>  </init-param>  <init-param>    <param-name>cors.preflight.maxage</param-name>    <param-value>10</param-value>  </init-param></filter><filter-mapping>  <filter-name>CorsFilter</filter-name>  <url-pattern>/*</url-pattern></filter-mapping>

根据自己需要加入相应配置

服务器端解决ajax跨域问题