У меня есть проект Ionic 4, где мне нужно делать посты и получать звонки на сервер.Сервер - это пружинный Java-сервер, который разрешает звонки только с http://localhost:4200 и работает на http://localhost:8080. У меня есть только DNS-адрес Сервера.Проблема заключается в том, что когда я развертываю приложение для мобильного устройства, оно запускает сервер локального хоста, где CORS применяется WebView .
Я получаю эту ошибку:
Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».Происхождение 'http://localhost:4200' поэтому не разрешено.
Для вызова покойного я использую HttpClient
от Angular, я уже читал, что Ionic-Native / HTTP обрабатывает проблемы CORS, но мне нужно будет переписать все мои вызовы, и я могу 'Протестируйте его в браузере, на разработку которого уйдет довольно много времени.Можно ли решить эту проблему с помощью прокси-сервера, который сообщает серверу, что я являюсь источником "http://localhost:4200", или разрешить в Spring разрешить любые IP-адреса из определенного порта? Я также видел, что есть библиотеканазывается ionic-native-http-connection-backend , который использует собственный http из ionic, когда это возможно, но он не работает.
Я надеюсь, что есть способ, которым я могу использоватьHttpClient
от Angular и как-то обойти эту проблему или если изменения в бэкэнде ДОЛЖНЫ быть сделаны, чтобы они были минимальными.
Спасибо, что нашли время помочь мне.
Это мой CLI и версия проекта:
ionic (Ionic CLI) : 4.2.1 (C:\Users\John\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework : @ionic/angular 4.0.0-beta.12
@angular-devkit/build-angular : 0.7.5
@angular-devkit/schematics : 0.7.5
@angular/cli : 6.1.5
@ionic/angular-toolkit : 1.0.0
Cordova:
cordova (Cordova CLI) : 8.1.1 (cordova-lib@8.1.0)
Cordova Platforms : android 7.1.1
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.2.0, (and 7 other plugins)
Система:
NodeJS : v8.11.4 (C:\Program Files\nodejs\node.exe)
npm : 5.6.0
OS : Windows 8.1