CORS-Fehler: Header „Access-Control-Allow-Origin“ fehlt
Problem:
Bei Verwendung von ngResource von AngularJS zum Senden von Anforderungen an eine auf Amazon Web Services gehostete REST-API tritt der folgende Fehler auf tritt auf:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Ursachen:
Dieser Fehler tritt normalerweise aufgrund von CORS-Einschränkungen (Cross-Origin Resource Sharing) auf. CORS verhindert, dass unterschiedliche Ursprünge (d. h. Domänennamen) ohne ausdrückliche Genehmigung miteinander interagieren.
Lösung:
Es gibt mehrere Methoden, um dieses Problem zu beheben:
Cors verstehen:
CORS schränkt die ursprungsübergreifende Kommunikation ein, um die Sicherheit zu gewährleisten. Wenn eine Anfrage von einem anderen Ursprung gestellt wird, wird eine Preflight-Anfrage an den Server gesendet, um zu überprüfen, ob die Anfrage zulässig ist. Der Server antwortet mit einem Access-Control-Allow-Origin-Header, um anzugeben, ob die Anfrage zulässig ist.
Wenn der Server den Access-Control-Allow-Origin-Header nicht enthält, wird die Anfrage nicht verarbeitet , und der Browser zeigt den CORS-Fehler an.
Das obige ist der detaillierte Inhalt vonWie behebt man den AngularJS ngResource CORS-Fehler: „Es ist kein ‚Access-Control-Allow-Origin'-Header vorhanden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!