2016-06-07 4 views
0

Я пытаюсь получить доступ к моей Java бэкенда через мое ионным приложение, но я получаю следующее сообщение об ошибке:Нет контроля доступа позволяет происхождения ионного проект с Java отдыхом бэкэндом

XMLHttpRequest не может загрузить http://localhost:8080/mybackend/rest/ .... Access Нет » -Control-Allow-Origin 'присутствует на запрошенном ресурсе . Поэтому исходный 'null' не допускается.

Я сделал эту конфигурацию: http://ionicinaction.com/blog/how-to-fix-cors-issues-revisited/

Но до сих пор не работает.

Я тестирую это с помощью ionic serve в браузере.

+0

Вам необходимо предоставить дополнительную информацию Тион. Как вы обслуживаете приложение. Вы нажимаете на проксированные конечные точки, я ваш код переднего конца? –

+0

Роберт, я делаю $ http.get (myurl) с помощью angularjs, и в моем бэкенде я выполнял реализацию с помощью javax.ws и спящего режима для продолжения. –

+0

Можете ли вы просить нас, как вы это тестируете? Вы работаете в своем браузере? Или вы получаете эти ошибки при тестировании на реальном устройстве после того, как вы упаковали и развернули его на реальном устройстве или эмуляторе? – mhx

ответ

0

Я делаю предположение, что вы работаете встроенными ионное сервер, который начинается на порт 8100. Если вы используете настройки прокси-сервера, описанные в ссылке, то вы должны поразить свои API конечных точки против

http://localhost:8100/mybackend/rest/ ..

Вы, кажется, непосредственно нажимаете приложение java (часто на порт 8080). Если вы хотите поразить ваш сервер api напрямую, вам нужно настроить CORS на стороне java/spring. Это достаточно хорошо документировано.

В противном случае вам необходимо настроить api url для углового сервиса $ http. Чтобы использовать прокси-сервер, вы должны нажать порт 8100.

+0

точно Роберт, я запускаю свое ионное приложение в браузере (в порт 8100) на время (потому что лучше дебютировать javascript), а мой бэкэнд работает в 8080 году. И я исправил URL-адрес в моем угловом контроллере, например: $ http.get («http: // localhost: 8080/myService/rest/user/list») –

+0

Психическая отладка! –

1

Ваш вопрос немного расплывчатый, как, как вы это тестируете? Какое устройство? Я предполагаю, что это должен быть один из следующих 2-х случаях:

  1. Тестирование в вашем браузере (например: Google Chrome) Поскольку вы разрабатываете на локальный, вы можете получить эти так называемые CORS-erros. Простым решением для Google Chrome будет установка плагина, который обрабатывает это. Установите расширение Google Chrome Allow-Control-Allow-Origin: *. Теперь ваши вызовы не будут сбрасывать ошибки.

  2. Испытания на эмуляторе или реальное устройство после развертывания/построить

If you're using a newer version of Cordova (or the latest Ionic CLI) to develop your app, you may be experiencing http 404 errors when your app tries to make network requests.

Это может быть быстро решено с Cordova Whitelist plugin.

Дополнительную документацию можно найти на странице Ionic docs: Cordova Whitelist.

Решение:

Выполните следующую команду в вашей оболочке/терминал:

ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git 

Единственное, что вам нужно сделать сейчас, чтобы добавить свойство к вашему config.xml файла:

<allow-navigation href="*" />

+0

Я тестирую браузер, и я собираюсь запустить приложение на nexus 4. Я буду следить за вашим решением mhx, tks –

+0

, он работает сейчас! спасибо большое Mhx :) –

+0

Какое решение вам помогло? :-) Рад, что это работает. – mhx

 Смежные вопросы

  • Нет связанных вопросов^_^