如何解决Vaadin 7 中的外部脚本 (CORS) 问题
我正在尝试使用脚本标记将外部 JS 脚本包含到我的页面中。为了包含脚本,我使用了一个 VaadinServlet Bean 来注册一个 BootstrapListenery,它能够将脚本附加到带有 response.getDocument().body().append()
的正文中。
但是当我加载页面时,我收到错误“跨域请求被阻止”。由于脚本位于不同的域中,因此根据 CORS 政策,它无法包含在页面中。
我已经尝试了很多东西,以允许加载外部脚本。我尝试在 VaadinServlet 的 setAccessControlHeaders
方法中设置所需的标头,因为它已完成 here。我尝试将 Bean 添加到 WebSecurityConfigurerAdapter
中,如 here 所述。我尝试将 @CrossOrigin(origins = "*",allowedHeaders = "*")
添加到我的控制器。我已经尝试将 http.cors().and().csrf().disable();
添加到我的 WebSecurityConfigurerAdapter 的配置方法中,如 here 所述。
但我就是做不到。对于我可以尝试的其他方法或我在这里做错的任何建议,我将不胜感激。另外我真的找不到调试这个的方法。
解决方法
需要在提供外部脚本的服务器上设置 CORS 标头,而不是在您的 Vaadin 应用上设置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。