from origin 'http://localhost' has been blocked by CORS policy 跨域问题
程序员文章站
2022-03-18 17:59:32
...
前后端环境搭好之后测试了一下登录,出了这个毛病,但是上面显示的CORS
我就知道,跨域问题来了.
这个CORS,是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)需要浏览器和服务器同时支持。
所有浏览器都支持该功能。
服务器的话需要单独配置使用 @CrossOrigin 或 全局配置类
这个@CrossOrigin需要配置在控制器类上
这个全局配置类的话只需要放在config配置文件夹中,具体代码如下:
/** 全局跨域配置类
*/
@Configuration
public class GlobalCorsConfig {
@Bean
public CorsFilter corsFilter() {
//1.添加CORS配置信息
CorsConfiguration config = new CorsConfiguration();
//放行哪些原始域
config.addAllowedOrigin("*");
//是否发送Cookie信息
config.setAllowCredentials(true);
//放行哪些原始域(请求方式)
config.addAllowedMethod("OPTIONS");
config.addAllowedMethod("HEAD");
config.addAllowedMethod("GET"); //get
config.addAllowedMethod("PUT"); //put
config.addAllowedMethod("POST"); //post
config.addAllowedMethod("DELETE"); //delete
config.addAllowedMethod("PATCH");
config.addAllowedHeader("*");
//2.添加映射路径
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
//3.返回新的CorsFilter.
return new CorsFilter(configSource);
}
}
配置类需要web起步依赖!!!
没有用网关的直接放在启动器类坐在项目的config配置文件夹下,
如果用的是网关!!!就请放在网关的config配置文件夹下!!!
总之连哪放哪.
推荐阅读
-
跨域问题 has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is
-
Postwoman跨域问题 has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present
-
ElementUI项目请求SpringBoot后台项目时提示:Access to XMLHttpRequest at **from origin ** has been blocked by CORS policy
-
origin ‘http://localhost:8080‘ has been blocked by CORS policy: Request header field platform is not
-
ElementUI项目请求SpringBoot后台项目时提示:Access to XMLHttpRequest at **from origin ** has been blocked by CORS policy
-
from origin 'http://localhost' has been blocked by CORS policy 跨域问题