Eckige 2 - Nein 'Access-Control-Allow-Origin' - header vorhanden ist, auf die angeforderte Ressource
Wenn Sie versuchen, um API-Aufrufe von meinem Winkel-2 App, um meine API, bekomme ich die folgende Fehlermeldung:
XMLHttpRequest cannot load http://localhost/myAPI/public/api/v1/auth/login. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 422.
Habe ich geprüft, jede einzelne Frage, die auf das web und alles rund um CORS, nichts mein problem gelöst!
Meine Laravel-API läuft auf port 80. (localhost)
Meine Winkel 2 app läuft auf port 3000. (localhost:3000)
- Die ich versucht habe zu aktivieren cors in Laravel Seite mit Cors-middleware
- Die API-Aufrufe sind arbeiten mit chrome web-Sicherheit aus. Die erste Antwort hier löst das problem, Aber ich will wirklich aufhören mit der CMD und ungesicherten chrome version immer im testen meiner app.
- Mit chrome-Erweiterung POSTMAN-API-Aufrufe, um meine API arbeiten.
Also.. Was ist falsch? Warum meine Eckige 2-app kann man Einträge aus meiner API?
- Ihre Server mit CORS-Konfiguration ist nicht korrekt. Hart, um mehr Informationen aus den Daten, die Sie zur Verfügung gestellt.
- Welche Informationen benötigen Sie? Und wenn Sie sagen, Servern du meinst die API oder apache (ich verwende xampp web-server)
- Ihre server mit CORS-Konfiguration. Dieses Problem ist nicht Eckig im Zusammenhang.
- wenn Sie sagen, Servern du meinst die API oder die apache-itselef (ich verwende xampp web-server)?
- Der server verarbeitet die fehlerhafte Antwort.
- Du hast Recht @GünterZöchbauer, konfigurierte ich meinen server selbst und jetzt funktioniert alles Super. Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok. scheinen, wie zu konfigurieren apache für Sie.
bin ich mit xampp-webserver, und ich musste mein edit httpd.conf wie beschrieben hier um dieses Problem zu lösen.
Hinzugefügt dieser Zeile:
mein problem gelöst.
Neustart von apache notwendig ist.
Öffnen Sie chrome inspect Werkzeug wechseln
Network
Registerkarte und überprüfen Sie die Anfrage Angular2 gesendet.In
Headers
->Response Headers
, prüfen Sie, ob esAccess-Control-Allow-Origin:*
(ich Wette nicht)Wenn Sie bauen eine API, die einfachste Lösung ist das hinzufügen
Anfang
routes.php
mithilfe einer Middleware wäre ein besserer Ansatz, aber stellen Sie sicher, dass es ordnungsgemäß funktioniert und fügen Sie denAccess-Control-Allow-Origin
zu den response-header.Haben Sie registriert-Routen zu behandeln
OPTIONS
Anfragen?Wenn Sie fügen Sie einfach eine middleware auf vorhandene
GET
undPOST
Routen, und der browser macht einenOPTIONS
Anfrage, die middleware wird nie erreicht.