0

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

更新:我正在通过 Eclipse 运行 Apache Tomcat 7,并使用简单的 JAVA OracleJDBC 请求/响应来获取数据。

4

1 回答 1

0

基本上这个错误不是 Ember-Cli 的。当您的 Ember 应用程序与您的服务器通信时,这就是您的服务器(在您的情况下为 tomcat)正在响应的内容。不知道你用的是什么版本的tomcat。但我将向您说明如何在 TomCat 7 中解决此问题。

打开你的web.xml文件。它将位于{apache-tomcat-directory}/conf/. 您可以添加过滤器以更改web-appXML 文件根之后文件中任何位置的 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>

添加后,您将能够绕过此错误。但仅当您出于开发目的而这样做时才建议这样做。请阅读此处以全面了解 TomCat 的CORS 过滤器

于 2015-09-14T17:24:48.930 回答