Access to XMLHttpRequest at 'http://localhost:8080/adminLogin' from origin 'http://localhost:8081' 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. xhr.js:251 POST http://localhost:8080/adminLogin net::ERR_FAILED为啥我配值还报错
时间: 2023-10-16 15:42:59 浏览: 232
这个错误是由于浏览器的同源策略导致的,浏览器默认限制了跨域请求。在这个错误信息中,它告诉我们在请求的头信息中缺少了 `Access-Control-Allow-Origin` 字段,这个字段是用来控制跨域请求的,如果缺少这个字段,那么浏览器就会拦截这个请求。
为了解决这个问题,我们需要在服务器端添加跨域访问的配置,以支持来自其它域的请求。在 Spring Boot 中,我们可以通过添加 `@CrossOrigin` 注解或者配置 WebMvcConfigurer 来实现跨域访问。
下面是一个使用 `@CrossOrigin` 注解解决跨域请求的示例代码:
```java
@RestController
public class AdminController {
@CrossOrigin(origins = "http://localhost:8081")
@PostMapping("/adminLogin")
public String adminLogin() {
// 处理管理员登录请求
return "admin login success";
}
}
```
在上面的示例代码中,我们在 `AdminController` 的 `adminLogin()` 方法上添加了 `@CrossOrigin(origins = "http://localhost:8081")` 注解,表示允许来自 `http://localhost:8081` 域的请求访问该接口。
如果您希望允许来自所有域的请求访问该接口,您可以将 `@CrossOrigin(origins = "http://localhost:8081")` 修改为 `@CrossOrigin(origins = "*")`。
希望以上信息能够帮到您解决问题。
阅读全文