Se déplacer: Pas de "Access-Control-Allow-Origin' en-tête est présent sur la ressource demandée
Je dois traiter avec un serveur RESTful qui n'est pas sous mon contrôle. Lorsque j'essaie de récupérer l'ID 1, enregistrement à partir de ça c'est l'erreur que je reçois:
XMLHttpRequest cannot load http://www.example.com/api/v1/companies/1.
No 'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://localhost:4200' is therefore not allowed
access.
Je peux curl
sur la coque:
$ curl -I http://www.company.com/api/v1/companies/1
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 11055
Content-Type: application/javascript
Last-Modified: Thu, 18 Jun 2015 07:30:26 GMT
Accept-Ranges: bytes
ETag: "5e772a598a9d01:0"
P3P: policyref="/w3c/p3p.xml",CP="CAO DSP LAW CURa ADMa DEVa CUSi OUR LEG UNI"
Date: Fri, 19 Jun 2015 13:06:46 GMT
$
J'utilise la suite contentSecurityPolicy:
contentSecurityPolicy: {
'default-src': "'none'",
'script-src': "'self'",
'font-src': "'self'",
'connect-src': "'self' http://www.example.com",
'img-src': "'self'",
'style-src': "'self'",
'media-src': "'self'"
}
Comment puis-je résoudre ce problème? Comment puis-je dire de Braise à l'utiliser?
Vous pouvez utiliser le plug-in de navigateur pour obtenir autour de cette.
Lequel serait-ce?
chrome.google.com/webstore/detail/allow-control-allow-origi/...
Lequel serait-ce?
chrome.google.com/webstore/detail/allow-control-allow-origi/...
OriginalL'auteur wintermeyer | 2015-06-19
Vous devez vous connecter pour publier un commentaire.
Réglage
contentSecurityPolicy
permet au navigateur de réellement faire la demande auprès dehttp://localhost:4200
àhttp://www.example.com
.Si vous n'avez pas ce jeu, vous serait de voir une erreur de ce type:
Après avoir fait la demande, si
http://www.example.com
ne pas contenir un en-tête particulier qui permet effectivementhttp://localhost:4200
à faire ces demandes, le navigateur renvoie une erreur..Pour plus d'informations, jetez un oeil à cette question: Comment Access-Control-Allow-Origin-tête de travail?
Si vous êtes à l'aide de Braise de la CLI de développement, vous pouvez proxy toutes les requêtes ajax pour
http://www.example.com/
à l'aide de:Mais cela ne résout pas votre problème lors du passage à la production. Vous aurez besoin d'une autre solution pour que.
OriginalL'auteur jmurphyau
Ce peut-être un vieux thread, mais cette réponse peut aider ceux qui se réfèrent à ce sujet dans l'avenir.
Essayez d'utiliser le
@CrossOrigin
annotation dans le repos de la méthode d'accès. Exemple:OriginalL'auteur Mohamed Malhar