Maison > interface Web > js tutoriel > Comment résoudre l'erreur CORS AngularJS ngResource : « Aucun en-tête « Access-Control-Allow-Origin » n'est présent » ?

Comment résoudre l'erreur CORS AngularJS ngResource : « Aucun en-tête « Access-Control-Allow-Origin » n'est présent » ?

Linda Hamilton
Libérer: 2024-12-04 15:53:10
original
693 Les gens l'ont consulté

How to Solve the AngularJS ngResource CORS Error:

Erreur CORS : en-tête 'Access-Control-Allow-Origin' manquant

Problème :

Lorsque vous utilisez ngResource d'AngularJS pour envoyer des requêtes à une API REST hébergée sur Amazon Web Services, l'erreur suivante se produit :

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Copier après la connexion

Causes :

Cette erreur se produit généralement en raison de restrictions CORS (Cross-Origin Resource Sharing). CORS empêche différentes origines (c'est-à-dire les noms de domaine) d'interagir les unes avec les autres sans autorisation explicite.

Résolution :

Il existe plusieurs méthodes pour résoudre ce problème :

  1. Désactiver CORS : Utilisez une extension de navigateur ou modifiez les paramètres du navigateur pour désactiver les protections CORS (non recommandé pour des raisons de sécurité) :
  2. Utilisez un serveur local (tel que nginx) comme proxy pour transmettre les requêtes à l'API distante et modifier les en-têtes comme nécessaire.
  3. Configurer la prise en charge côté serveur :
  4. Activez CORS sur le serveur API en ajoutant les en-têtes HTTP appropriés (par exemple, Access-Control-Allow-Origin). Reportez-vous à la documentation de votre serveur Web spécifique.
  5. Comprendre CORS :
  6. CORS restreint la communication entre origines pour garantir la sécurité. Lorsqu'une demande provient d'une origine différente, une demande de contrôle en amont est envoyée au serveur pour vérifier si la demande est autorisée. Le serveur répond avec un en-tête Access-Control-Allow-Origin pour indiquer si la requête est autorisée.
Si le serveur n'inclut pas l'en-tête Access-Control-Allow-Origin, la requête ne sera pas traitée. , et le navigateur affichera l'erreur CORS.

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