2017-10-06 4 views
0

i développé une api web en utilisant djangorestframework mais quand je suis consommais api en utilisant AngularJS, navigateur affiche l'erreurcomment autoriser l'API de repos django à répondre à des demandes provenant de différents hôtes?

XMLHttpRequest ne peut pas charger http://127.0.0.1:8000/webapi/orders. La réponse> à la demande de contrôle en amont ne passe pas contrôle d'accès contrôle: aucun 'Accès- En-tête de contrôle-autorisation-origine' est présent sur la ressource demandée. Origine> 'http://127.0.0.1:37749' n'est donc pas autorisé à accéder.

  • app AngularJS est hébergé sur 127.0.0.1:37749/ et
  • django api est hébergé sur 127.0.0.1:8000/

comment configurer settings.py pour résoudre ce problème ? aidez s'il vous plaît !!!

Répondre

0

Vous rencontrez un problème avec Cross Origin Resource Sharing.

Voir http://www.django-rest-framework.org/topics/ajax-csrf-cors/#cors pour la solution. En particulier, django-cors-headers est ce que vous voudrez résoudre ce problème.

+0

Salut merci pour la réponse. J'ai suivi les étapes dans le lien que vous avez fourni, mais maintenant le navigateur affiche 'Champ d'en-tête de la demande Access-Control-Allow-Origin ? n'est pas autorisé par Access-Control-Allow-Headers dans la réponse preflight'. Pouvez-vous s'il vous plaît expliquer? –

+0

aucune idée. En suivant le guide django-cors-headers, j'ai réussi à le faire fonctionner aussi bien que les participants à l'atelier. – Linovia