Heim > Backend-Entwicklung > PHP-Tutorial > Warum erhalte ich in meiner AngularJS-Anwendung die Meldung „Preflight-Anfrage schlägt fehl mit Fehler: Ungültiger HTTP-Statuscode 404'?

Warum erhalte ich in meiner AngularJS-Anwendung die Meldung „Preflight-Anfrage schlägt fehl mit Fehler: Ungültiger HTTP-Statuscode 404'?

Linda Hamilton
Freigeben: 2024-11-03 15:00:04
Original
691 Leute haben es durchsucht

Why Am I Getting a

Preflight-Anfrage schlägt mit Fehler fehl: Ungültiger HTTP-Statuscode 404

In AngularJS-Anwendungen kann der Versuch, eine POST-Anfrage durchzuführen, manchmal dazu führen, dass Folgende Fehlermeldung: „Antwort für Preflight hat ungültigen HTTP-Statuscode 404.“ Dieser Fehler tritt aufgrund eines Problems mit der Cross-Origin Resource Sharing (CORS)-Richtlinie auf.

Die von den meisten modernen Browsern implementierte CORS-Richtlinie stellt sicher, dass Webanwendungen sicher Anfragen an andere Domänen stellen können. Bevor die eigentliche Anfrage gestellt wird, sendet der Browser eine Preflight-Anfrage (OPTIONS) an den Server, um zu prüfen, ob der Server die Anfrage von der Ursprungsdomäne zulässt.

Um dieses Problem zu beheben, stellen Sie sicher, dass der Server auf den Preflight reagiert Anfrage mit den entsprechenden Headern. Konkret sollte der Server die folgenden Header festlegen:

  • Access-Control-Allow-Headers
  • Content-Type
  • Access-Control-Allow-Methods
  • Access-Control-Allow-Origin

In SlimPHP können Sie diese Header beispielsweise mit der Methode „response().headers()“ festlegen:

<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

Darüber hinaus müssen Sie möglicherweise die automatische Preflight-Verarbeitung deaktivieren, indem Sie die AngularJS-Konfiguration ändern:

<code class="js">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

Indem Sie den Server für die Verarbeitung von Preflight-Anfragen konfigurieren und die automatische Preflight-Verarbeitung in AngularJS deaktivieren, können Sie erfolgreich POST-Anfragen von Ihrem Server aus stellen AngularJS-Client zu Ihrem Server.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meiner AngularJS-Anwendung die Meldung „Preflight-Anfrage schlägt fehl mit Fehler: Ungültiger HTTP-Statuscode 404'?. 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