Le "Access-Control-Allow-Origin' en-tête contient plusieurs valeurs
je suis en train d'envoyer la requête get à l'api comme c'est une url de connexion
var url = "http://demo.software.travel/gptp/api/authorization?apiKey=****&alias=****&login=****&password=****"
$.get(url, function(data) {
console.log(data);
});
je suis arriver dans ma console de cette erreur
XMLHttpRequest ne peut pas charger http://demo.software.travel/gptp/api/authorization?apiKey=****&alias=****&login=****&password=****. Le "Access-Control-Allow-Origin' en-tête contient plusieurs valeurs 'http://travellights.net, *', mais un seul est autorisé. Origine " http://travellights.net ' est donc pas autorisé à accéder.
je suis en train de voir les questions à résoudre, mais je n'ai pas ce que j'ai besoin de changer, c'est gênant en fait.
Le "Access-Control-Allow-Origin' en-tête contient plusieurs valeurs
cette résolu par asp.net web.congif
Par la façon dont je suis l'aide de le NAVIGATEUR google CHROME, toute l'aide que j'apprécie.
Mise à JOUR en-têtes de réponse:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:origin, x-requested-with, Content-Type, accept, Token
Access-Control-Allow-Methods:GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS
Access-Control-Allow-Origin:http://travellights.net
Access-Control-Allow-Origin:*
Connection:close
Content-Encoding:gzip
Content-Type:application/json;charset=utf-8
Date:Thu, 02 Jun 2016 16:41:18 GMT
Server:nginx/1.1.19
Set-Cookie:JSESSIONID=51FEE1A1206B9B481DD3EEA4167A9256; Path=/gptp
Vary:Origin
Vary:Accept-Encoding
X-UA-Compatible:IE=EmulateIE7
En-Têtes De Requête:
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,ar;q=0.6,en-GB;q=0.4
Connection:keep-alive
Host:demo.software.travel
Origin:http://travellights.net
Referer:http://travellights.net/b2b/Pages/login?
User-Agent:Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
http://demo.software.travel
la vôtre?Désormais le vôtre, ou pas..
Le problème est avec le serveur vous demande de données à partir, si elle n'est pas de toi tout ce que vous pouvez faire est de les présenter avec le message d'erreur que vous obtenez. C'est assez descriptif aussi loin que ce qui doit être changé.
Formulaire de postes et obtient ne sont pas soumis à la même politique d'origine.
Curl n'est pas soumis à la même politique d'origine. Ajax seulement. Je les cadres sont également limités, mais un peu différemment.
OriginalL'auteur Alaa M. Jaddou | 2016-06-02
Vous devez vous connecter pour publier un commentaire.
Vous de tenter de faire des Cross-origin resource sharing (SCRO) qui est un mécanisme qui permet à des ressources limitées sur une page web demandée à partir d'un autre domaine en dehors du domaine à partir duquel la ressource à l'origine. (tels que l'accès à des polices ou des fichiers JSON).
Navigateurs restreindre votre accès à des ressources provenant d'autres origines que de Même la politique de l'origine comme une mesure de sécurité pour les utilisateurs d'internet.
Pour contourner ce problème, vous avez des options:
(mais il y a des problèmes de sécurité, plus de description sur le sujet ici: https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet#Cross_Origin_Resource_Sharing)
Permettre de la SCRO sur le serveur pour pouvoir accéder à d'autres domaines à travers.
cela peut être fait en ajoutant des en-têtes de réponses:
Access-Control-Allow-Origin: http://travellights.net
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
JSONP enveloppe un objet JSON dans un rappel, ce qui techniquement fait la demande d'un non-restreinte (une balise script) qui peut donc être partagée entre les domaines.
il peut être fait par à la vanille js par l'ajout d'une balise de script sur la page.
ou vous pouvez utiliser jquery pour atteindre le même:
jquery documentation: https://learn.jquery.com/ajax/working-with-jsonp/
OriginalL'auteur Bamieh
Si vous définissez "Plein" de la SCRO (avec l'OPTION de pré-demande) dans nginx par ajouter "access-control-allow-origin: *' et indépendamment l'on y ajoute l'en-tête (pour Simple de la SCRO - sans OPTION pré-demande) à chaque réponse du SERVEUR (par exemple. php):
Alors vous obtiendrez ce problème. Solution: supprimer le code qui ajouter cet en-tête dans le serveur si déjà vous ajouter cet en-tête dans votre nginx config 🙂
J'ai trouvé ce conseil ici
OriginalL'auteur Kamil Kiełczewski