Ember js 'Access-Control-Allow-Origin' ошибка, где разместить код решения
Было много дискуссий о CORS и об ошибке "Access-Control-Allow-Origin", я попробовал и прочитал (делаю это в течение 2 дней) множество потенциальных решений, но меня беспокоит, где разместить код решения. Как и в каком файле мне нужно внести изменения в заголовок, чтобы предоставить доступ ко всем межсерверным вызовам. Я использую Ember CLI, Tomcat Apache(который получает данные из базы данных), работаю в Chrome и использую ember-data. Может быть, нубский вопрос, но я действительно не могу от него избавиться, очень нужна помощь. Заранее спасибо.
ОБНОВЛЕНИЕ: я использую Apache Tomcat 7 через Eclipse и использую простой запрос / ответ JAVA OracleJDBC для получения данных.
1 ответ
В основном эта ошибка не Ember-Cli. Это то, что ваш сервер (tomcat в вашем случае) отвечает, когда ваше приложение Ember взаимодействует с вашим сервером. Я не знаю, какую версию вы используете TomCat. Но я покажу вам, как решить эту проблему в TomCat 7.
Открыть свой web.xml
файл. Он будет расположен в {apache-tomcat-directory}/conf/
, Вы можете добавить фильтр для изменения поведения CORS в любом месте файла после web-app
корень файла XML. Но я предлагаю вам сделать это после того, как часть 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>
После добавления этого вы сможете обойти эту ошибку. Но это только рекомендуется, если вы делаете это для целей разработки. Пожалуйста, прочитайте здесь для полного понимания CORS-фильтра TomCat.