Ajax发送请求时,浏览器出现这个错误,这是一个跨域请求的问题
from origin ‘null’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource
什么是跨域呢?
当一个请求URL的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域,而CORS(跨站点资源分享)是解决跨域问题的官方解决方案之一
Spring boot全局设置CORS
@Configuration
public class CorsConfig {
@Bean
public CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
//允许任何域名
corsConfiguration.addAllowedOrigin("*");
//允许任何请求头
corsConfiguration.addAllowedHeader("*");
//允许任何请求方法
corsConfiguration.addAllowedMethod("*");
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}
以上就可以解决跨域问题