Comment faire des requêtes HTTP CORS-enabled dans Angular 2?
L'erreur est la suivante:
XMLHttpRequest ne peut pas charger http://some_url.herokuapp.com/api/some_api/. Pas de "Access-Control-Allow-Origin' en-tête est présent sur la ressource demandée. Origine " http://localhost:3000 ' est donc pas autorisé à accéder. La réponse avait le code d'état HTTP 503.
lors de l'appel de
retour cette._http.la poste(requestUrl, JSON.stringify(requestBody), requestOptions)
J'ai eu des ennuis avec la SCRO (lors du travail avec Angulaire 1) dans le passé et je me souviens qu'une fois la SCRO ont été activés côté serveur,j'ai dû transformer la requête http pour analyser certains en-têtes HTTP.
Je suis assez confus sur la façon dont il devrait fonctionner, de sorte que toute explication est la bienvenue.
source d'informationauteur dragonmnl
Vous devez vous connecter pour publier un commentaire.
En fait, ce n'est pas une Angular2 problème, mais un problème sur le serveur. L'contrôlé OPTIONS de demande doit retourner un
Access-Control-Allow-Origin
d'en-tête dans sa réponse.L'envoi de la
Origin
en-tête de la requête originale permettra le soutien de la SCRO sur le côté serveur. Cet en-tête est ajouté automatiquement par le navigateur lorsqu'il détecte que le domaine de la demande n'est pas la même chose que de l'appelant.Être prudent lors de la mise en œuvre du contrôle en amont des OPTIONS de demande sur le côté serveur depuis informations d'identification ne sont pas envoyés à ce niveau. Ils ne sont envoyés qu'à l'intérieur de la cible de la demande. Il semble être le problème puisque vous avez l'erreur 503. Vous essayez de vérifier si la demande d'OPTIONS est authentifié, mais ce n'est pas vraiment le cas...
Voir cet article pour plus de détails: