Maison >développement back-end >tutoriel php >Comment puis-je résoudre les erreurs Access-Control-Allow-Origin lors des appels AJAX ?

Comment puis-je résoudre les erreurs Access-Control-Allow-Origin lors des appels AJAX ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-16 10:21:11486parcourir

How Can I Resolve Access-Control-Allow-Origin Errors When Making AJAX Calls?

Surmonter les restrictions de contrôle d'accès et d'autorisation d'origine

Scénario :

Vous êtes face à une erreur d'appel Ajax due à l'en-tête Access-Control-Allow-Origin, vous empêchant de récupérer les données de votre serveur lors du développement sur une plateforme qui restreint de tels appels.

Solution :

Pour contourner cette restriction, vous pouvez modifier votre code côté serveur (retrieve.php dans ce cas) en en ajoutant l'en-tête suivant au début :

header('Access-Control-Allow-Origin: *');

Cet en-tête permet à toutes les origines d'accéder aux ressources de votre serveur. Cependant, il est important de noter que cette approche désactive la protection CORS, laissant potentiellement vos utilisateurs vulnérables aux attaques. Pour atténuer ce risque, vous pouvez limiter l'accès à des origines spécifiques :

header('Access-Control-Allow-Origin: https://www.example.com');

Pour une compréhension plus approfondie d'Access-Control-Allow-Origin, reportez-vous aux ressources suivantes :

  • Réseau de développeurs Mozilla : https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
  • Réponse de débordement de pile : https://stackoverflow.com/a/10636765 /413670

Équivalent JSON (non Recommandé) :

Au lieu d'utiliser Ajax, vous pourriez envisager une approche équivalente à JSON. Cependant, cette méthode n'est pas recommandée car JSON ne prend pas en charge nativement CORS. Vous devrez implémenter une solution de contournement pour activer CORS dans votre configuration JSON.

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