Ember js 'Access-Control-Allow-Origin' error ,解决代码放在哪里

Ember js 'Access-Control-Allow-Origin' error , Where to place the solution code

已经有很多关于 CORS 和 'Access-Control-Allow-Origin' 错误的讨论,我已经尝试并阅读(现在做了 2 天)很多可能的解决方案,但我关心的是将解决方案代码放在哪里。我需要如何以及在哪个文件中对 header 进行更改以授予对所有跨服务器调用的访问权限。 我正在使用 Ember CLI、Tomcat Apache(从数据库获取数据)、运行 on Chrome,并使用 ember-data。 可能是一个菜鸟问题,但我真的无法摆脱它,真的需要帮助。 提前致谢。

更新:我是 运行 Apache Tomcat 7 通过 eclipse 并使用简单的 JAVA OracleJDBC request/response 来获取数据。

基本上这个错误不是 Ember-Cli 的。当您的 Ember 应用程序正在与您的服务器通信时,这就是您的服务器(tomcat 在您的情况下)正在响应的内容。我不知道您使用的 TomCat 是什么版本。但我会在 TomCat 7.

中向您说明如何解决此问题

打开您的 web.xml 文件。它将位于 {apache-tomcat-directory}/conf/。您可以在 XML 文件的 web-app 根之后的文件中的任何位置添加过滤器以更改 CORS 行为。但我建议你在 Built in Filter Mappings.

部分之后这样做

过滤器将如下所示:

<filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
    <param-name>cors.allowed.origins</param-name>
    <param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

添加这个之后你就可以绕过这个错误了。但仅当您出于开发目的时才建议这样做。请阅读 here for complete understanding of TomCat's CORS filter.