181 votes

Comment résoudre le problème suivant: 'La redirection a été bloquée par la politique CORS: Aucun en-tête' Access-Control-Allow-Origin ''?

Je suis en train de travailler sur une application avec vue js. Selon mon entourage, j'ai besoin de passer des variables à l'adresse de ma page lorsque le réglage modifié.

$.get('http://172.16.1.157:8002/firstcolumn/' + c1v + '/' + c1b, function (data) { 
  // some code...
});

mais quand mon application frapper sur l'url, il montre suivantes messsge.

Le chargement a échoué http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26: Redirection à partir d' 'http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26' à 'http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26/' a été bloqué par la SCRO politique: Pas de "Access-Control-Allow-Origin' en-tête est présent sur la ressource demandée. Origine 'http://localhost:8080' est donc pas autorisé à accéder.

107voto

altShiftDev Points 553

En plus de ce qui awd a mentionné à propos de l'obtention de la personne responsable pour le serveur de reconfigurer (une solution impraticable pour le développement local) - je utiliser un changement d'origine chrome plugin comme ceci:

https://chrome.google.com/webstore/detail/moesif-origin-cors-change/digfbfaphojjndkpccljibejjbppifbc

Vous pouvez faire votre local dev server (ex: localhost:8080) semblent être à venir à partir d' 172.16.1.157:8002 or any other domain.

46voto

Sharat Points 349

16voto

awd Points 1746

Demandez à la personne assurant la maintenance du serveur à l' adresse http://172.16.1.157:8002/ d'ajouter votre nom d'hôte aux hôtes Access-Control-Allow-Origin. Le serveur doit renvoyer un en-tête similaire à celui-ci avec le code réponse

 Access-Control-Allow-Origin: yourhostname:port
 

10voto

Bhavan Patel Points 1253

Bonjour Si j'ai bien compris vous avez raison de faire un XMLHttpRequest à un autre domaine que la page est sur. Ainsi, le navigateur se bloque car il permet, en général, une demande de la même origine pour des raisons de sécurité. Vous avez besoin de faire quelque chose de différent lorsque vous voulez faire une demande de domaines. Un tutoriel sur la façon d'y parvenir est à l'Aide de la SCRO.

Lorsque vous utilisez facteur qu'ils ne sont pas affectés par cette politique. Cité de la Croix-Origine XMLHttpRequest:

Régulièrement les pages web peuvent utiliser l'objet XMLHttpRequest pour envoyer et recevoir des données à partir des serveurs distants, mais ils sont limités par la même la politique de l'origine. Les Extensions ne sont pas limitées. Une extension peut parler à des serveurs distants à l'extérieur de son origine, aussi longtemps que il demande tout d'abord de la croix-origine des autorisations.

9voto

Pankaj Shinde Points 124

Pour ajouter de la SCRO l'autorisation de l'en-tête à l'aide d'Apache, il suffit d'ajouter la ligne suivante à l'intérieur soit à l' <Directory>, <Location>, <Files> ou <VirtualHost> des sections de votre configuration de serveur (généralement situé dans un *.fichier conf, comme httpd.conf ou apache.conf), ou au sein d'un .htaccess le fichier:

L'en-tête set Access-Control-Allow-Origin "*"

Et puis redémarrez apache.

Modifier les en-têtes nécessite l'utilisation de mod_headers. Mod_headers est activé par défaut dans Apache, cependant, vous pouvez vouloir vous assurer qu'il est activé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X