CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。
它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
方法一
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**"). //批量要拦截哪些接口 拦截所有的请求
allowedOrigins("*"). //允许跨域的域名,可以用*表示允许任何域名使用 带有cookie时必须是具体的值,如http://localhost:8080
allowedMethods("*"). //允许任何方法(GET,POST,PUT,DELETE,PATCH,OPTIONS)
allowedHeaders("*"). //允许任何请求头
allowCredentials(false). //允许带上cookie信息
exposedHeaders(HttpHeaders.SET_COOKIE).maxAge(3600L); //maxAge(3600)表明在3600秒内,不需要再发送预检验请求,可以缓存该结果
}
}
Access-Control-Allow-Origin
该字段是必须的。它的值要么是请求时Origin字段的值,要么是一个*&#