Drum herum: Keine "Access-Control-Allow-Origin' - header vorhanden ist, auf die angeforderte Ressource
Ich haben, um mit einem RESTful server, die nicht unter meiner Kontrolle. Wenn ich versuche zu Holen, die ID-1-Rekord von es das ist der Fehler, den ich bekommen:
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.
Kann ich curl
es auf der shell:
$ 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
$
Verwende ich die folgenden 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'"
}
Wie kann ich dieses Problem beheben? Wie kann ich feststellen, Ember, um es einfach nutzen?
- Sie können browser-plug-in, dies zu umgehen.
- Welcher wäre das?
- chrome.google.com/webstore/detail/allow-control-allow-origi/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einstellung
contentSecurityPolicy
kann der browser eigentlich bei der Anforderung vonhttp://localhost:4200
zuhttp://www.example.com
.Wenn Sie nicht eingestellt habe, würden Sie sehen, ein Fehler wie:
Nachdem ich die Anfrage, wenn
http://www.example.com
enthält nicht einen bestimmten header, der tatsächlich erlaubthttp://localhost:4200
auf diese Anfragen, die der browser wirft eine Fehlermeldung..Für mehr Informationen werfen Sie einen Blick auf diese Frage: Wie funktioniert der Zugang-Control-Allow-Origin-header zu arbeiten?
Wenn du mit Ember CLI für die Entwicklung können Sie den ajax-proxy alle Anfragen an
http://www.example.com/
mit:Aber diese nicht lösen Ihr problem, wenn Sie sich an der Produktion. Man braucht eine andere Lösung.
Kann dies ein Alter thread, aber diese Antwort kann denen helfen, die beziehen sich auf diese in die Zukunft.
Versuchen Sie es mit der
@CrossOrigin
annotation in der erholsamen Methode Sie zugreifen. Beispiel: