2016-08-06 30 views
0

Ich habe derzeit ein Angular 2-Frontend und Phoenix-Backend. Aus irgendeinem Grund kann ich GET-Anfragen gut machen. In Phoenix habe ich den Code in endpoint.exUngültige Preflight-CORS-Anfrage, weil die Kopfzeile "content-type" nicht in: allow_headers

plug Corsica, origins: "*" 

Das bin ich aber GET-Anfragen erlaubt, zu tun, wenn ich POST reqests an die gleiche Adresse mein Backend ausprobieren spuckt den Fehler

Invalid preflight CORS request because the header "content-type" is not in :allow_headers 

Ich bin nicht Sicher, ob ich etwas von meinem Frontend senden muss oder ob ich etwas vom Backend aktivieren muss.

+0

http://stackoverflow.com/questions/12630231/how-do-cors-and-access-control-allow-headers-work Entweder senden nicht den 'Content-Baumuster zur oder fügen Sie es zu den zulässigen Headern auf dem Server hinzu. –

+0

Probieren Sie "Korsika, Ursprung:" * ", allow_headers: [" content-type "]'. – Dogbert

+0

@Dogbert Ihre Lösung hat funktioniert. Vielen Dank :) –

Antwort

1

Wie die Fehlermeldung sagt, müssen Sie die Header hinzufügen, die in access-control-allow-headers zu der :allow_headers Option von Korsika Stecker sein sollen.

plug Corsica, origins: "*", allow_headers: ["content-type"] 

:allow_headers - eine Liste von Headern (als Binärdateien). Legt den Wert des Headers access-control-allow-headers fest, der für Preflight-Anforderungen verwendet wird. Der Standardwert ist [] (keine Header zulässig).

Source