Как устранить ошибку политики CORS в гибридном приложении, которое использует угловой 6, ионный 4 в качестве внешнего интерфейса и scala в качестве внутреннего? - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь использовать метод GET для входа в систему, используя следующий код:

 login(data){
 return this.http.get("http://Server_IP:88/mLogin/" + 
 data.controls['mobile'].value + "/" + 
 data.controls['password'].value,{}).pipe(tap(
    res=>{console.log('User: '+res)},
    err=>console.log(err) ));
 }

Приведенный выше код отлично работает в браузере Chrome и также получает ответ.но он не работает при сборке APK т.е. не работает на устройстве.и когда мы проверяем приложение, оно получает ответ в консоли, но выдает следующую ошибку:

Доступ к XMLHttpRequest в «http://Server_IP:88/mLog' from origin» http://localhost:8080' заблокирован политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: На запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Это мой scala (код сервера):

  `nextFilter(requestHeader)
   .map { result =>
    if (requestHeader.method.equals("OPTIONS")) {
     Results.Ok.withHeaders(
    Http.HeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN -> "*",
    Http.HeaderNames.ACCESS_CONTROL_ALLOW_HEADERS -> "X-Requested- 
     With, 
    Accept, Content-Type",
    Http.HeaderNames.ACCESS_CONTROL_ALLOW_METHODS -> 
    "OPTIONS,HEAD,GET,POST,PUT,PATCH,DELETE")
   } else {
   result.withHeaders(
   Http.HeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN -> "*",
    Http.HeaderNames.ACCESS_CONTROL_ALLOW_HEADERS -> "X-Requested- 
    With, Accept, Content-Type",
 Http.HeaderNames.ACCESS_CONTROL_ALLOW_METHODS -> 
  "HEAD,GET,POST,PUT,PATCH,DELETE",
   Http.HeaderNames.ACCESS_CONTROL_EXPOSE_HEADERS -> "X-Custom- 
  Header-To-Expose")
      }
      }`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...