Angular2 : X-XSRF-TOKEN ist nicht erlaubt, Access-Control-Allow-Header

Kämpfe ich mit diesem Problem heute als ich die Umsetzung einer cross-site-API-Aufruf. Das Schlimmste ist, es funktioniert gut aus meinem lokalen Umfeld, aber auch einmal auf heroku, schlägt es fehl mit der folgenden Fehlermeldung:

XMLHttpRequest-Objekt kann nicht geladen werden https://restcountries.eu/rest/v1/all. Anfrage-header-Feld X-XSRF-TOKEN ist nicht erlaubt, Access-Control-Allow-Header in preflight Antwort.

Hier ist die Funktion die Auslösung der Anruf:

  let observable = this._http
    .get(GEO_API_URL + query)
    .map(response => response.json())
    .do(val => {
      this.cache = val;
      observable = null;
    })
    .share();

  return observable;

Irgendeine Idee ?

Dank.

  • Muss konfiguriert werden-Nein, der server und ist nicht im Zusammenhang mit Angular2. Siehe auch stackoverflow.com/questions/10143093/...
  • Vielen Dank für deine Antwort Günter. Ich weiß, es ist nicht Eckig, sondern es sollte eine Art workaround ? Aber wenn ich versuche, ersetzen Sie die Access-Control-Request-Headers, es heißt "Weigerte sich, unsicher Header".
  • Ich weiß nicht, wo Sie ersetzen die header und ich weiß nicht, was Abhilfe Sie bedeuten. Eckig ist nicht beteiligt an diesem, die preflight-request erstellt, der von Ihrem browser nicht durch Eckige. Nur nach der Antwort auf die preflight-request enthält die richtigen Header, den der browser die eigentliche Anfrage eingeleitet durch Eckige.
  • Vielen Dank für das follow-up. Ich habe nicht gesagt, es war kantig, die ich erwähnt Winkel auf den Titel, denn das ist die Technologie, die ich hier benutze. Es funktioniert von der lokalen, aber einmal auf heroku es nicht... Das ist es.
  • Wenn Sie auf eine andere URL (auch wenn nur der port ist anders) der browser erfordert die CORS-Header. Sie haben zu schauen, wie diese zu konfigurieren sind auf Heroku.
  • Danke, werde ich !

InformationsquelleAutor kfa | 2016-07-26
Schreibe einen Kommentar