Warum schlagen AngularJS-POST-Anfragen mit dem HTTP-Statuscode 404 fehl?

Barbara Streisand
Freigeben: 2024-11-04 09:59:01
Original
334 Leute haben es durchsucht

Why Do AngularJS POST Requests Fail with HTTP Status Code 404?

Behebung von AngularJS-POSTs mit HTTP-Statuscode 404 fehlgeschlagen

In AngularJS schlagen POST-Anfragen möglicherweise mit der Fehlermeldung „Antwort für Preflight ist ungültig“ fehl HTTP-Statuscode 404.“ Dieses Problem tritt auf, wenn der Browser vor der eigentlichen POST-Anfrage eine Preflight-OPTIONS-Anfrage sendet, um Berechtigungen zu überprüfen. Der Server muss diese Preflight-Anfrage verarbeiten und mit den entsprechenden CORS-Headern antworten.

Serverseitige Konfiguration

Stellen Sie sicher, dass Sie im SlimPHP-Server die folgenden Header eingefügt haben in Ihrer Antwort:

<code class="php">$app->response()->headers->set('Access-Control-Allow-Headers', 'Content-Type');
$app->response()->headers->set('Content-Type', 'application/json');
$app->response()->headers->set('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
$app->response()->headers->set('Access-Control-Allow-Origin', '*');</code>
Nach dem Login kopieren

Clientseitige Konfiguration

Deaktivieren Sie als Nächstes die Preflight-Anfrage, indem Sie den AngularJS-Clientcode ändern:

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

Durch das Zurücksetzen der Header auf der Clientseite sendet der Browser eine direkte POST-Anfrage ohne eine Preflight-OPTIONS-Anfrage. Dadurch sollte der HTTP-404-Fehler behoben werden.

CORS-Übersicht

Cross-Origin Resource Sharing (CORS) ermöglicht Anfragen von anderen Domänen als der, die den Inhalt bereitstellt. Dabei handelt es sich um eine Preflight-Anfrage zur Überprüfung der Berechtigungen vor der eigentlichen Anfrage. Eine unsachgemäße Behandlung dieser Preflight-Anfragen kann zum HTTP-404-Fehler führen. Wenn Sie CORS verstehen und sowohl den Client als auch den Server entsprechend konfigurieren, können Sie POST-Anfragen in AngularJS erfolgreich ausführen.

Das obige ist der detaillierte Inhalt vonWarum schlagen AngularJS-POST-Anfragen mit dem HTTP-Statuscode 404 fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!