クロスサイトAPI呼び出しを実装しているので、今日この問題で苦労しています。最悪の事態は、それは私のローカル環境からうまく動作しますが、一度Herokuの上、それは次のエラーで失敗している。ここでAngular2:X-XSRF-TOKENはアクセス制御許可ヘッダーで許可されていません
XMLHttpRequest cannot load https://restcountries.eu/rest/v1/all . Request header field X-XSRF-TOKEN is not allowed by Access-Control-Allow-Headers in preflight response.
は、呼び出しをトリガー機能である:
let observable = this._http
.get(GEO_API_URL + query)
.map(response => response.json())
.do(val => {
this.cache = val;
observable = null;
})
.share();
return observable;
任意のアイデア?
ありがとうございました。
ことサーバーが構成されていなくてAngular2に関連していない必要があります。 http://stackoverflow.com/questions/10143093/origin-is-not-allowed-by-access-control-allow-origin –
回答ありがとうございました。 Angularではなく、ある種の回避策があるはずです。しかし、私がAccess-Control-Request-Headerを置き換えようとすると、「安全でないヘッダーを設定することを拒否しました」と言います。 – kfa
ヘッダーをどこに置き換えるのか分かりませんが、どういう意味の回避策がわかりません。 Angularはこれに関与せず、プリフライトリクエストはAngularではなくブラウザによって作成されます。プリフライト要求への応答が正しいヘッダーを含んでいる場合のみ、ブラウザはAngularによって開始された実際の要求を行っています。 –