Access-Control-Allow-Origin 报头中仅允许选定的受信任域。
时间: 2024-01-24 21:15:39 浏览: 325
Access-Control-Allow-Origin 报头用于指定哪些域名是被允许访问资源的。如果服务器没有正确配置该报头,浏览器会拒绝跨域请求并报错"Access-Control-Allow-Origin"。下面是两种解决办法以tomcat为例:
1. 在web.xml文件中配置CORS过滤器:
```xml
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```
2. 在应用程序的代码中添加@CrossOrigin注解:
```java
@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
public class MyController {
// Controller的代码
}
```
这样配置后,服务器会在响应中添加"Access-Control-Allow-Origin"报头,并允许所有域名访问资源。你也可以将`*`替换为具体的域名,以限制只有特定域名可以访问资源。
阅读全文