web-dev-qa-db-fra.com

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 travaille sur une application à l'aide de la vue js . Selon mon paramètre, il est nécessaire de passer à variable dans mon URL lorsque le paramètre a été modifié.

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

mais lorsque mon application a cliqué sur l'URL, elle affiche les messages suivants.

Échec du chargement de http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26 : Redirect from ' 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 politique de la SCRO: Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée. Origin ' http: // localhost: 8080 ' n'est donc pas autorisé.

19
Sharat

En plus de ce que awd a mentionné à propos de la reconfiguration de la personne responsable du serveur (une solution peu pratique pour le développement local), j'utilise un plugin chrome change-Origin comme celui-ci:

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

Vous pouvez faire en sorte que votre local dev server (ex: localhost:8080) semble provenir de 172.16.1.157:8002 or any other domain

13
altShiftDev

Demandez à la personne qui gère le 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 message réponse

Access-Control-Allow-Origin: yourhostname:port
5
awd
4
Sharat

Bonjour Si j'ai bien compris, vous effectuez un XMLHttpRequest vers un domaine différent de celui de votre page. Donc, le navigateur le bloque car il permet généralement une demande dans la même origine pour des raisons de sécurité. Vous devez faire quelque chose de différent lorsque vous souhaitez effectuer une requête entre domaines. Un tutoriel sur comment y parvenir est Using CORS .

Lorsque vous utilisez postman, ils ne sont pas limités par cette stratégie. Cité de XMLHttpRequest d’origine croisée :

Les pages Web standard peuvent utiliser l'objet XMLHttpRequest pour envoyer et recevoir des données de serveurs distants, mais elles sont limitées par la même stratégie d'origine. Les extensions ne sont pas si limitées. Une extension peut communiquer avec des serveurs distants en dehors de son origine, à condition qu'elle demande d'abord des autorisations croisées.

3
Bhavan Patel

Vous envoyez une demande au domaine externe 172.16.1.157:8002/ à partir de votre serveur de développement local, raison pour laquelle il donne une exception d'origine croisée . Vous devez autoriser les en-têtes Access-Control-Allow-Origin:* à la fois en frontend et en backend ou bien utiliser cette extension cors header toggle - extension chrome sauf si vous hébergez et connectez le serveur sur le même domaine.

1
Manav Mandal

Vous pouvez résoudre ce problème temporaire en utilisant l'add-on Firefox, CORS Everywhere . Il suffit d'ouvrir Firefox, d'appuyer sur Ctrl + Maj + A, rechercher l'add-on et l'ajouter !!

0

Pour ajouter l'autorisation CORS à l'en-tête à l'aide d'Apache, ajoutez simplement la ligne suivante dans les sections <Directory>, <Location>, <Files> ou <VirtualHost> de votre configuration de serveur (généralement situées dans un fichier * .conf, tel que httpd.conf ou Apache.conf ), ou dans un fichier .htaccess:

Ensemble d'en-têtes Access-Control-Allow-Origin "*"

Et puis redémarrez Apache.

La modification des en-têtes nécessite l'utilisation de mod_headers. Mod_headers est activé par défaut dans Apache. Toutefois, vous souhaiterez peut-être vous assurer qu'il est activé.

0
Pankaj Shinde