这个报错我怎们弄,具体的代码和文件怎么写。login:1 Access to XMLHttpRequest at 'http://localhost:9090/User' from origin 'http://localhost:9876' 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.
时间: 2024-04-03 14:36:25 浏览: 146
[js]轻便的XMLHttpRequest应用函数:downloadUrl()
这个错误是因为浏览器的安全策略限制了跨域请求,需要在后端设置相应的响应头来解决。具体来说,需要在后端的响应头中添加 `Access-Control-Allow-Origin` 字段,值为前端请求的域名或 `*`。
如果你使用的是 Spring Boot 框架,可以在后端的 Controller 方法上添加 `@CrossOrigin` 注解,来设置响应头。示例代码如下:
```
@RestController
public class UserController {
@CrossOrigin(origins = "http://localhost:9876")
@GetMapping("/User")
public List<User> getUsers() {
// 处理业务逻辑,返回用户列表
}
}
```
这样就可以在响应头中添加 `Access-Control-Allow-Origin: http://localhost:9876` 字段,允许前端从 `http://localhost:9876` 发起跨域请求了。
如果你使用的是其他后端框架,可以查找相应的设置方式,或者在后端服务器上配置反向代理,将前端请求转发到后端服务器上,避免跨域问题。
阅读全文