Maison  >  Article  >  interface Web  >  Erreur CORS : pourquoi mon serveur rejette-t-il « Content-Type » dans la demande de contrôle en amont ?

Erreur CORS : pourquoi mon serveur rejette-t-il « Content-Type » dans la demande de contrôle en amont ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 14:21:02446parcourir

CORS Error: Why Does My Server Reject

Erreur CORS : modification des en-têtes autorisés

Lorsque vous tentez d'effectuer une requête POST avec des téléchargements de fichiers, le navigateur rencontre souvent l'erreur : "Demande Le champ d'en-tête Content-Type n'est pas autorisé par Access-Control-Allow-Headers. requêtes avec des types de contenu non standard comme "multipart/form-data" en envoyant une requête OPTIONS. La requête OPTIONS vérifie si le serveur autorise des en-têtes de requête spécifiques qui ne sont pas inclus dans l'ensemble HTTP standard.

Solution initiale tentée :

Pour résoudre ce problème, le développeur J'ai d'abord essayé d'ajouter les en-têtes suivants à la requête POST :

Erreur ultérieure :

Cependant, cela a entraîné une nouvelle erreur : "Accès au champ d'en-tête de la demande- Control-Allow-Origin n'est pas autorisé par Access-Control-Allow-Headers."
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET,POST,PUT,DELETE,OPTIONS",
"Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"

Résolution :

Le problème se pose car le serveur doit autoriser le "Content- Type" en-tête dans la configuration "Access-Control-Allow-Headers". Les navigateurs envoient une requête OPTIONS de contrôle en amont avec l'en-tête "Content-Type", et si le serveur ne le permet pas, la requête CORS échouera.

Pour résoudre cette erreur, le développeur doit soit écraser l'"application" par défaut d'Angular /json" tapez le contenu ou autorisez "Content-Type" dans la configuration Access-Control-Allow-Headers du serveur.

Exemple de code angulaire :

Pour écraser la valeur par défaut en-tête en Angular, le code suivant peut être utilisé :

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!

Déclaration:
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