定义:跨域是指从一个域名的网页去请求另一个域名的资源。但是一般情况下不能这么做,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。
跨域严格一点的定义是:只要协议,域名,端口有任何一个的不同,就被当作是跨域同源策略
所谓同源是指,域名,协议,端口均相同。
因为当我们使用springboot+vue进行前后端分离开发时,sprinboot程序占用了一个端口,vue程序占用另一个端口,因此这两个程序此时不同源。当vue前端去请求后台数据时,便会产生跨域问题。
@Configuration
public class CrossConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
.allowCredentials(true)
.maxAge(3600)
.allowedHeaders("*");
}
}