首页 > 解决方案 > Vaadin 7 中的外部脚本 (CORS) 问题

问题描述

我正在尝试使用脚本标记将外部 JS 脚本包含到我的页面中。为了包含脚本,我使用 VaadinServlet Bean 注册了一个 BootstrapListenery,它能够将脚本附加到带有response.getDocument().body().append().

但是当我加载页面时,我收到错误“跨源请求被阻止”。由于脚本位于不同的域中,因此由于 CORS 策略,它不能包含在页面中。

我已经尝试了很多东西,以允许加载外部脚本。我尝试在setAccessControlHeadersVaadinServlet 的方法中设置所需的标头,就像在此处完成的那样。我尝试将 Bean 添加到此处WebSecurityConfigurerAdapter所述。我尝试添加到我的控制器。而且我已经尝试添加到我的 WebSecurityConfigurerAdapter 的配置方法,如此处所述@CrossOrigin(origins = "*", allowedHeaders = "*")http.cors().and().csrf().disable();

但我就是不能让它发生。对于我可以尝试的其他方法或我在这里做错的任何建议,我将不胜感激。我也找不到调试这个的方法。

标签: javaspring-bootspring-mvcvaadin

解决方案


CORS 标头需要在为外部脚本提供服务的服务器上设置,而不是在您的 Vaadin 应用程序上。


推荐阅读