当我们的主机去请求不同端口的时候就属于跨域了 所谓跨域就是从 A
向 B
发请求,如若他们的地址协议、域名、端口都不相同,直接访问就会造成跨域问题,跨域是非常常见的现象!请求是跨域的但并不一定会报错,普通的图片请求。css文件请求是不会报错的。报错的条件是浏览器的同源策略,且发送Ajax请求,跨域是客户端问题
。 为了安全起见,浏览器设置了同源策略,当页面执行脚本的时候,浏览器会检查访问的资源是否同源,如果不是,就会报错。
做为后端程序员,我们直接用后端解决跨域,
跨域设置
@Configuration
public class Corsconfig {
//当前跨域请求最大有效时长。这里默认1天
private static final long MAX_AGE = 24*60*60;
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration ();
corsConfiguration.addAllowedOrigin("*");//设置访问源地址
corsConfiguration.addAllowedHeader("*");//设置访问源请求头
corsConfiguration.addAllowedMethod ("*");//设置访问源请求方法
corsConfiguration.setMaxAge(MAX_AGE);
return corsConfiguration ;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration ( " /**",buildConfig());//对接口配否跨域设西
return new CorsFilter(source);
}
}