Ich entwickle eine AngularJS-Web-App und teste die App lokal, z. Es ist nicht auf einem Server. Ich laufe weiter in den folgenden Fehler:CORS-Header 'Access-Control-Allow-Origin' fehlt mit AngularJS Web App
Cross-Origin-Anfrage blockiert: Die gleiche Herkunft Richtlinie verbietet das Lesen der Remote-Ressource bei (Grund: CORS-Header 'Access-Control-Allow-Origin' fehlt) .1 (unbekannt)
Meine SO-Forschung sagt mir, dass dies ein Fehler auf der Serverseite ist, aber ich habe erfolgreich Daten aus meiner iOS App im Simulator abgerufen und Postman mit Erfolg verwendet.
Per Vorschlag führe ich die App über http-Server. Gleicher Fehler.
Ich habe einen einfachen Testfall mit dem gleichen Ergebnis:
$http.get("http://www.yahoo.com")
.then(function (response) {
alert("Search Results: " + response);
}, function(error) {
alert("Could not get to Yahoo");
});
Dieses völlig rätselhaft ist.
Was meinst du, "lokal"? Sie benötigen einen HTTP-Server, um AJAX-Anfragen zu bearbeiten. Wenn Sie eine Seite aus einer Datei laden: /// url, dann können Sie keine ajax-Anfragen an Server senden. –
^async-Anfragen können nicht ausgeführt werden, wenn Ihr Browser HTML von einem direkten Dateipfad rendert. Wenn Sie einen lokalen Server unter Verwendung von node/apache/python/etc. ausführen, können Sie CORS-Header auf Ihrem lokalen Server aktivieren, die Sie dann auf Ihrem Produktionsserver replizieren sollten. Eine weitere wichtige Frage: Entwickeln Sie mit Angular 1 oder Angular 2? – trickpatty
auch, wie kommt iOS ins Spiel mit Ihrer Architektur? entwickelst du eine Angular 2 + nativescript App? oder eine ionic + Angular 1 App? Und wenn dies der Fall ist, auf welchem Server versuchen Sie asynchrone Anfragen zu stellen und welche Umgebung hat dieser Server? – trickpatty