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!