has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.Java应该怎么解决
时间: 2023-07-09 14:04:27 浏览: 240
corsyusha:简单快速的代理,可在针对现有API进行原型设计时绕过CORS问题,而不必担心CORS
这个问题通常是由于浏览器的同源策略所导致的,可以通过设置服务器端的响应头来解决。在响应头中添加以下内容:
```
Access-Control-Allow-Origin: <your-domain>
Access-Control-Allow-Credentials: true
```
其中 `<your-domain>` 是你的域名。这样设置之后,浏览器就会允许你的前端应用程序使用带有凭据的请求来访问服务器端资源。
如果你使用的是 Spring Boot 框架,可以通过在控制器方法上添加 `@CrossOrigin` 注解来解决:
```java
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
@RequestMapping("/api")
public String api(HttpServletRequest request) {
// ...
}
```
其中 `origins` 指定允许跨域访问的来源,`allowCredentials` 指定是否允许使用带有凭据的请求。
阅读全文