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>