$http.get () ошибка ‘ Access-Control-Allow-Origin’

I have to work with the API rest but i have this error every time when do?

Ответ на запрос preflight не проходит проверку контроля доступа: на запрашиваемом ресурсе нет заголовка «Access-Control-Allow-Origin». Origin ‘http://localhost:8100» поэтому доступ запрещен.

$scope.submit = function(login, password){
url = 'http://x.x.x.x:x/x/x/x/x/'+login+'?password='+password;
console.log(url);
instanceId = '1';
tokenId = '';
userId = '';
$http.get(url, {
      headers: {
        'Accept': 'application/json',
        'Context': 'instance='+tokenId+';token='+tokenId+';user='+userId
      }
  })
  .success(function(data){
    $scope.firstName = data.user.firstName;
    $scope.lastName = data.user.lastName;
    $scope.profession = data.user.mission;

    userId = data.user.id;*/
    localStorage.setItem("userId", JSON.stringify(userId));
    $location.path('app/home/');
  })
  .error(function(data, status){
    console.log(data + "-" + status);
    alert(status);
});

1 ответ

  1. CORS является проблемой только при запуске приложения в режиме разработки С ionic serveилиionic run/emulate -l, а не при запуске как мобильное приложение в комплекте с Cordova, простой вариант заключается в том, чтобы просто отключить CORS вообще для локальной разработки. Если вы используете Chromeдля отладки, есть плагин под названием Allow-Control-Allow-Origin: * который позволяет отключить CORS.
    Или если вы хотите решить эту проблему, есть два способа:

    • Первое и более простое решение состоит в том, чтобы просто разрешить все исходные точки из конечной точки API. Недостатком является то, что мы не всегда можем контролировать конечную точку, к которой мы обращаемся.
    • К счастью, у нас есть второй способ:Ionic CLI proxy server, ionic предоставил удивительный блог об этом, пожалуйста, обратитесь к http://blog.ionic.io/handling-cors-issues-in-ionic/ .

    Надеюсь это поможет, уважаю.