跨域问题是指在 Web 开发中,一个网页的 JavaScript 代码通过 AJAX 请求后端服务器接口时,如果请求的目标地址与当前页面的地址不在同一个域(域名、端口或协议任何一项不同),就会产生跨域问题。
后端解决跨域问题应该重写父类提供的跨域请求处理的接口,以下是java后端解决跨域问题的具体代码。
@Configuration
public class CorsConfig {
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
// 允许所有域
config.addAllowedOrigin("*");
// 允许所有HTTP方法
config.addAllowedMethod("*");
// 允许所有请求头
config.addAllowedHeader("*");
// 如果带有自定义请求头(token),请将其加入允许的请求头列表
config.addAllowedHeader("*");
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
}