2017-02-02 10 views
0

Когда я попытался отправить http-запрос, я получил эту ошибку о CORS.Как включить CORS при отправке HTTP-запроса от приложения Angular2

XMLHttpRequest cannot load 'sever-domain'. 
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'my-firebsase-hosted-app-domain' is therefore not allowed access. 

Затем я установил заголовки в свой http-запрос следующим образом.

let headers = new Headers(
    { 
    'Access-Control-Allow-Origin': '*', 
    'Content-Type': 'application/x-www-form-urlencoded' 
    } 
); 
let options = new RequestOptions({ headers: headers }); 
this.postRequestSub = this._http.post(this.url, body, options); 

Но у меня все еще такая же ошибка, разве это не правильный способ ее решения?

+2

CORS необходимо настроить на сервере. Угловая не участвует в этом. –

+0

Вы можете использовать прокси для его обработки на стороне клиента. https://webpack.github.io/docs/webpack-dev-server.html#proxy –

+0

Спасибо, что ответили мне скоро. Вы имеете в виду, что я могу справиться с этой ошибкой, правильно настроив прокси, как это, верно? [link] (http://stackoverflow.com/questions/37172928/angular-cli-server-how-to-proxy-api-requests-to-another-server) – taku845

ответ

2

Как отметил Гюнтер Zöchbauer,

CORS должен быть настроен на сервере

Вот ссылка, которая поможет вам начать работу Enable CORS.

+0

Спасибо! Я проверю эту ссылку. – taku845