什么是跨域?
跨域是指 不同域名之间相互访问。跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。
如何判断是否跨域?
同一协议,同一ip,同一端口,三同中有一不同就产生了跨域。
解决跨域的好处
在前后端分离的项目中,前端一般是通过Ajax请求接口,如果前端和后台不在同一个服务器和端口,那么就会出现跨域的问题。在完全的前后端分离中,前端一般是跨域。
如何解决跨域问题
新建一个环境类
/**
* @ClassName: CorsConfig
* @Description: 解决跨域问题配置类
* @Author 毛毛
* @CreateDate 2021/09/04/周六 13:21
* @Version: v1.0
*/
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
// 针对所有接口都配置跨域
registry.addMapping("/**")
// 允许来源为所以
.allowedOriginPatterns("*")
// 请求头
.allowedHeaders(CorsConfiguration.ALL)
// 请求方式
.allowedMethods(CorsConfiguration.ALL)
// 允许请求带着凭证 比如cookie jwt token
.allowCredentials(true)
// 一个小时内不需要再预检
// 一般post请求都会进行一个预请求,发(options请求),用来检测接口是否正常
.maxAge(3600);
}
}