我得到以下错误时,我试图从Spring Boot 后端与HTML + JS获取数据
CORS策略已阻止从源“http://127.0.0.1:5500”获取"http://localhost:8222/API/v1/admin/hotels?page=0&size=10&searchText=&petAllowed=true&starRate=2&priceLow=1&priceHigh=10001“的访问:“”Bull-Control-Allow-Origin“”标头包含多个值“*,”,但只允许一个值。请让服务器发送包含有效值的标头,或者,如果不透明响应满足您的需要,将请求的模式设置为“no-cors”,以在禁用CORS的情况下获取资源。
我正在使用Spring Cloud Gateway来路由流量。
网关中的Yaml文件
spring:
application:
name: gateway-service
cloud:
gateway:
globalcors:
cors-configurations:
'[/**]':
allowedOrigins: "*"
allowedMethods:
- GET
- POST
- PUT
- DELETE
- OPTIONS
allowedHeaders:
- "*"
字符串
我使用JS来获取数据。
fetch(
"http://localhost:8222/api/v1/admin/hotels?page=0&size=10&searchText=&petAllowed=true&starRate=2&priceLow=1&priceHigh=10001",
{
method: "GET",
mode: "cors",
}
)
.then((response) => response.json())
型
我做错了什么?
1条答案
按热度按时间nr9pn0ug1#
问题可能出在代码中。检查代码中重复的Cors处理。例如:您在提到的yaml文件中处理cors,也许您在控制器中编写代码。例如
字符串
最有可能的可能是这个问题。如果你有这个问题,请删除CrossOrigin行并重新启动服务器。
如果问题仍然存在,请考虑尝试其他浏览器,或者如果您使用的是Chrome,请使用This Extension。这可能会破坏其他网站,请仅测试代码。