Pourquoi ma requête POST AngularJS échoue-t-elle avec « Code d'état HTTP 404 invalide » ?

Linda Hamilton
Libérer: 2024-11-04 08:12:02
original
581 Les gens l'ont consulté

Why Does My AngularJS POST Request Fail with

Échec du POST AngularJS : résolution du code d'état HTTP non valide

Dans cet article, nous abordons le problème de « La réponse au contrôle en amont a un HTTP invalide code d'état 404" qui apparaît lors de l'envoi de requêtes POST d'AngularJS à un serveur.

Le code AngularJS fourni configure une requête GET qui récupère avec succès les données du serveur. Cependant, la requête POST rencontre l'erreur susmentionnée en raison de la requête OPTIONS de contrôle en amont envoyée par le navigateur. La politique CORS (Cross-Origin Resource Sharing) exige que les navigateurs envoient une requête OPTIONS de contrôle en amont avant de faire des requêtes réelles.

Dans SlimPHP, le serveur gère CORS en définissant les en-têtes nécessaires. Cependant, l'inspection des en-têtes de requête/réponse révèle que le serveur renvoie un code d'état 404 pour la requête OPTIONS de contrôle en amont, ce qui est incorrect.

Pour résoudre ce problème, le code AngularJS côté client doit être modifié pour empêcher la demande OPTIONS de contrôle en amont. Ceci peut être réalisé en réinitialisant les en-têtes par défaut en utilisant :

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

En réinitialisant ces en-têtes, le navigateur n'enverra plus la requête OPTIONS de contrôle en amont. Au lieu de cela, il enverra directement la demande POST réelle, en contournant le code d'état problématique 404 pour la demande de contrôle en amont.

Cette solution souligne l'importance de comprendre la politique CORS et de gérer correctement les demandes de contrôle en amont. En abordant à la fois les aspects côté client et côté serveur de CORS, les développeurs peuvent garantir le succès des requêtes d'origine croisée et éliminer l'erreur « Code d'état HTTP 404 non valide ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal