Spring Cloud - Zuul Proxy正在生成一个没有“访问控制-允许-起源”的ajax响应
2022-09-02 22:52:45
启动应用:
@SpringBootApplication
@EnableZuulProxy
public class ZuulServer {
public static void main(String[] args) {
new SpringApplicationBuilder(ZuulServer.class).web(true).run(args);
}
}
我的 YAML 文件是这样的:
server:
port:8080
spring:
application:
name: zuul
eureka:
client:
enabled: true
serviceUrl:
defaultZone: http://localhost:8761/eureka/
zuul:
proxy:
route:
springapp: /springapp
我有一个名为 springapp 的微服务应用程序(在端口 8081 上),并且有一些休息服务。以下是我的客户端 UI 应用:
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="js/libs/jquery/jquery.min.js" ></script>
</head>
<body>
<script type="text/javascript">
$.ajax({
url: 'http://localhost:8080/zuul/springapp/departments',
type: 'GET'
}).done(function (data) {
consoe.log(data);
document.write(data);
});
</script>
</body>
</html>
但我得到一个
XMLHttpRequest cannot load http://localhost:8080/zuul/springapp/departments. No
'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://localhost:8383' is therefore not allowed access.
这个UI HTML5应用程序 http://localhost:8383/SimpleAPp/index.html。CORS, CORS, CORS...请帮忙。顺便说一句,http://localhost:8080/zuul/springapp/departments 在浏览器地址栏上返回一个json列表。这里的 spring.io 博客说不需要过滤器,因为zuulproxy可以照顾它,但我不知道为什么它不适合我。