XMLHttpRequest cannot load http://130.51.23.12:8180/remoteLogin. Preflight response is not successful 以前遇到过,跨域的缘由。 增长注解解决: @CrossOrigin(origins = "*", maxAge = 3600)
java
这个注解spring4.2以后才有。web
若是低于4.2版本,增长filter:spring
import javax.servlet.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class CorsFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException {} @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletResponse httpServletResponse = (HttpServletResponse) response; httpServletResponse.setHeader("Access-Control-Allow-Origin", "*"); httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); httpServletResponse.setHeader("Access-Control-Max-Age", "3600"); httpServletResponse.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, Access-Control-Allow-Methods, Access-Control-Allow-Origin"); httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");// 容许cookie chain.doFilter(request, response); } public void destroy() {} }
web.xml跨域
<filter> <filter-name>corsFilter</filter-name> <filter-class>com.x.sso.cas.server.security.CorsFilter</filter-class> </filter> <filter-mapping> <filter-name>corsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>