Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt meine AngularJS-POST-Anfrage mit „Ungültiger HTTP-Statuscode 404' fehl?

Warum schlägt meine AngularJS-POST-Anfrage mit „Ungültiger HTTP-Statuscode 404' fehl?

Linda Hamilton
Linda HamiltonOriginal
2024-11-04 08:12:02587Durchsuche

Why Does My AngularJS POST Request Fail with

AngularJS POST schlägt fehl: Lösung des ungültigen HTTP-Statuscodes

In diesem Artikel befassen wir uns mit dem Problem „Antwort für Preflight hat ungültiges HTTP“. Statuscode 404“, der auftritt, wenn POST-Anfragen von AngularJS an einen Server gestellt werden.

Der bereitgestellte AngularJS-Code richtet eine GET-Anfrage ein, die erfolgreich Daten vom Server abruft. Bei der POST-Anfrage tritt jedoch aufgrund der vom Browser gesendeten Preflight-OPTIONS-Anfrage der oben genannte Fehler auf. Die CORS-Richtlinie (Cross-Origin Resource Sharing) schreibt vor, dass Browser eine Preflight-OPTIONS-Anfrage senden, bevor sie tatsächliche Anfragen stellen.

In SlimPHP verarbeitet der Server CORS, indem er die erforderlichen Header festlegt. Die Überprüfung der Anforderungs-/Antwort-Header zeigt jedoch, dass der Server einen 404-Statuscode für die Preflight-OPTIONS-Anfrage zurückgibt, was falsch ist.

Um dieses Problem zu beheben, muss der clientseitige AngularJS-Code geändert werden, um dies zu verhindern die Preflight-OPTIONEN-Anfrage. Dies kann erreicht werden, indem die Standard-Header wie folgt zurückgesetzt werden:

<code class="javascript">app.config(function ($httpProvider) {
  $httpProvider.defaults.headers.common = {};
  $httpProvider.defaults.headers.post = {};
  $httpProvider.defaults.headers.put = {};
  $httpProvider.defaults.headers.patch = {};
});</code>

Durch das Zurücksetzen dieser Header sendet der Browser die Preflight-OPTIONS-Anfrage nicht mehr. Stattdessen wird die eigentliche POST-Anfrage direkt gesendet und der problematische 404-Statuscode für die Preflight-Anfrage umgangen.

Diese Lösung unterstreicht, wie wichtig es ist, die CORS-Richtlinie zu verstehen und Preflight-Anfragen korrekt zu bearbeiten. Durch die Behandlung sowohl der clientseitigen als auch der serverseitigen Aspekte von CORS können Entwickler erfolgreiche Cross-Origin-Anfragen sicherstellen und den Fehler „Ungültiger HTTP-Statuscode 404“ beseitigen.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine AngularJS-POST-Anfrage mit „Ungültiger HTTP-Statuscode 404' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn