java前后端分离项目前端请求报CORS 头缺少 'Access-Control-Allow-Origin
时间: 2024-06-23 22:02:20 浏览: 97
允许CORS:访问控制 - 允许来源「Allow CORS: Access-Control-Allow-Origin」-crx插件
在Java前后端分离项目中,当使用HBuilderX的mui.ajax()函数进行跨域请求时,遇到“CORS头缺少 'Access-Control-Allow-Origin'" 错误,是因为服务器没有正确配置响应头来允许特定的源(Origin)访问资源。解决这个问题通常需要在后端服务器上设置`Access-Control-Allow-Origin`响应头。
以下是设置CORS的示例,假设你使用的是Spring Boot:
1. 配置Spring Security或Spring MVC过滤器[^1]:
```java
@Configuration
public class CorsConfig {
@Bean
public FilterRegistrationBean corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowedOrigins(Arrays.asList("*")); // 允许来自所有源的请求
config.setAllowCredentials(true); // 如果需要发送cookies,则设置为true
config.addAllowedMethod("*"); // 允许所有HTTP方法
config.addAllowedHeader("*"); // 允许所有头信息
source.registerCorsConfiguration("/**", config);
FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return bean;
}
}
```
确保在处理跨域请求的控制器上应用此配置,并启用Spring MVC的CORS支持[^2]。
阅读全文