как разблокировать политику CORS - PullRequest
0 голосов
/ 07 февраля 2019

я попробовал apiurl в методе post для страницы регистрации…

import { Injectable } from '@angular/core';
import { Http, Headers, HttpModule } from '@angular/http';
import 'rxjs/add/operator/map';

  let apiUrl = 'http://aaaaa.in/outfit/index.php/api/v1/';

  @Injectable()
 export class AuthServiceProvider {

   constructor(public http: Http) {
   console.log('Hello AuthServiceProvider Provider');
 }
 public register(data){
  return new Promise((resolve, reject) => {
  let headers = new Headers();
  alert('11');
    headers.append('Content-Type', 'application/json');
    headers.append('Access-Control-Allow-Origin', '*');
     headers.append( 'Access-Control-Allow-Headers', 'Authorization, Content-Type' );

    //headers.append('Access-Control-Allow-Origin', 
 'http://localhost:8100');
 //headers.append('Access-Control-Allow-Credentials', 'true');

    alert(apiUrl);
    this.http.post(apiUrl+'account', JSON.stringify(data), {headers: headers})

      .subscribe(res => {
        resolve(res.json());
       alert(Response);
      }, (err) => {
        reject(err);
      });
});

  }

} 

это показывает ошибку, подобную этой… «Доступ к XMLHttpRequest в« http://aaaaa.in/outfit/index.php/api/v1/account’ от источника »http://localhost:8100’была заблокирована политикой CORS: Ответ на предполётный запрос не проходит проверку контроля доступа: у него нет статуса HTTP ok. ”

Заранее спасибо ..

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Способ 1. Установите расширение «Allow-Control-Allow-Origin» в chrome, чтобы решить эту проблему для разработки.

Способ 2. Вам необходимо изменить некоторые строки в ionic.config.json

{
  "name": "foresight",
  "app_id": "47182aef",
  "type": "angular",
  "integrations": {
    "cordova": {}
  },
  "proxies": [
    {
      "path":"/account",
      "proxyUrl": "https://api-foresight.castingapi.in/account"
    }
  ]
}

вы можете позвонить в вашу внешнюю службу, используя приведенный ниже код

headers = new Headers({'key': '12345678'});
options = new RequestOptions ({headers: this.headers}); 
return this.http.get('/account/?fields=name', this.options)

Не забудьте обратиться к ионной службе или ионной лаборатории после внесения изменений в ionic.config.JS

0 голосов
/ 07 февраля 2019

Вы пытаетесь запустить приложение на Chrome?Если вы запускаете приложение на Chrome, это обычно происходит, и я даже не знаю, почему, но оно отлично работает, если вы попробуете его на реальном устройстве.Я столкнулся с той же проблемой, и я преодолел ее с помощью расширения Chrome, которое Allow-Control-Allow-Origin .Я не знаю, есть ли правильный способ решить эту проблему, но это может помочь вам ?

...