Ich versuche, eine einfache Cross-Origin-Anfrage zu stellen, und Firefox blockiert sie konsequent mit diesem Fehler:
Ursprungsübergreifende Anforderung blockiert: Die gleiche Ursprungsrichtlinie verbietet das Lesen der Remote-Ressource unter [url]. Dies kann behoben werden, indem die Ressource in dieselbe Domäne verschoben oder CORS aktiviert wird. [url]
Es funktioniert gut in Chrome und Safari.
Soweit ich das beurteilen kann, habe ich auf meinem PHP alle richtigen Header gesetzt, damit dies funktioniert. Hier ist, womit mein Server antwortet
HTTP/1.1 200 OK
Date: Mon, 23 Jun 2014 17:15:20 GMT
Server: Apache/2.2.22 (Debian)
X-Powered-By: PHP/5.4.4-14+deb7u8
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type
Access-Control-Request-Headers: X-Requested-With, accept, content-type
Vary: Accept-Encoding
Content-Length: 186
Content-Type: text/html
Ich habe versucht, Angular, jQuery und ein grundlegendes XMLHTTPRequest-Objekt wie folgt zu verwenden:
var data = "id=1234"
var request = new XMLHttpRequest({mozSystem: true})
request.onload = onSuccess;
request.open('GET', 'https://myurl.com' + '?' + data, true)
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
request.send()
... und es funktioniert in jedem Browser außer Firefox. Kann mir jemand dabei helfen?
Accept application/json, text/plain, */* Accept-Encoding gzip, deflate Accept-Language en-US,en;q=0.5 Content-Length 35 Content-Type application/x-www-form-urlencoded; charset=UTF-8 Host [url] Origin [url] Referer [referrer url] User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:30.0) Gecko/20100101 Firefox/30.0 Fehler: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at [url]. This can be fixed by moving the resource to the same domain or enabling CORS. [url]
mozSystemwird nicht für normale Websites unterstützt, sondern nur für gepackte Firefox-OS- Apps. Löschen Sie diese Option.