p://localhost:9090/user/delete/4' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2023-06-19 07:07:17 浏览: 74
这是因为浏览器的同源策略(Same-Origin Policy)限制了从一个源(协议+域名+端口)加载的文档或脚本如何与来自另一个源的资源进行交互。在这种情况下,你的前端页面在通过 AJAX 请求访问另一个域名下的资源时,由于跨域问题,服务器返回了没有包含跨域请求允许的头信息,导致浏览器拒绝了该请求。解决这个问题的方法是在服务器端添加跨域请求允许的头信息,例如在返回的响应头中添加 'Access-Control-Allow-Origin' 头信息。
相关问题
p://localhost:8081/sku/sku/list?current=1&size=10' from origin 'http://localhost:8080' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:8080, http://localhost:8080', but only one is allowed.
这是一个CORS(跨域资源共享)的错误。它表示你的浏览器尝试从不同的域(或端口)请求资源,并且服务器没有正确配置CORS头。具体来说,服务器的响应头中设置了多个允许访问的域('http://localhost:8080, http://localhost:8080'),而规范要求这个头部只能设置一个值。要解决这个问题,你需要在服务器端将响应头中的 'Access-Control-Allow-Origin' 属性设置为一个正确的值,例如:'http://localhost:8080'。
XMLHttpRequest at 'http://localhost:8080/user/register' from origin 'http://localhost:5175' has been blocked by CORS policy:
CORS(跨域资源共享)是一种机制,用于控制在一个域中加载的Web应用程序如何与不同域中的资源进行交互。当前端页面通过XMLHttpRequest请求访问后端接口时,如果请求的域与接口所在的域不一致,就会出现CORS错误。
解决这个问题的方法是在后端接口上添加CORS头信息,告诉浏览器允许跨域访问。在Java Spring框架中,可以使用@CrossOrigin注解来实现。
在你提供的代码中,@CrossOrigin注解已经被正确地添加到了后端接口的方法上。这样一来,前端页面就可以通过XMLHttpRequest访问该接口,而不会再出现CORS错误。
以下是一个示例代码,展示了如何使用@CrossOrigin注解解决CORS问题:
```java
@RestController
public class UserController {
@CrossOrigin(origins = "http://localhost:5175")
@RequestMapping("/user/register")
public String registerUser() {
// 处理注册逻辑
return "ok";
}
}
```
在上述代码中,@CrossOrigin注解的参数origins指定了允许访问该接口的域名。在这个例子中,只有来自"http://localhost:5175"域的请求才被允许访问。
通过在后端接口上添加@CrossOrigin注解,并指定允许访问的域名,就可以解决CORS错误。
阅读全文