为什么会出现跨域问题?主要是出于浏览器的同源策略限制
所谓同源(即指在同一个域)就是两个地址具有相同的协议(protocol),主机(host)和端口号(port)
同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。
同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能。
解决方法
第一种(推荐)
在controller层(即api提供处),类上添加一个注解
@CrossOrigin
第二种:
写个配置类即可解决。
代码语言:javascript
复制
@Configuration public class CrosConfig implements WebMvcConfigurer {
@Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowedMethods("*") //允许任何方法(post、get)等 .allowCredentials(true) .maxAge(3600) .allowedHeaders("*"); //允许跨域的域名,用*表示允许任何域名使用 }
}