不跨域时可访问
不加入跨域配置,通过Ajax发送请求
可以看到控制台报错,原因是浏览器不支持Ajax发起跨域请求。
解决的办法很简单,给gateway网关配置全局跨域请求即可,配置如下
在application.yml中加入
spring:
cloud:
gateway:
globalcors: # 全局的跨域处理
add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题
corsConfigurations:
'[/**]':
allowedOrigins: # 允许哪些网站的跨域请求
- "http://localhost:8090"
- "http://www.leyou.com"
allowedMethods: # 允许的跨域ajax的请求方式
- "GET"
- "POST"
- "DELETE"
- "PUT"
- "OPTIONS"
allowedHeaders: "*" # 允许在请求中携带的头信息
allowCredentials: true # 是否允许携带cookie
maxAge: 360000 # 这次跨域检测的有效期
再次发送Ajax请求,控制台成功打印。