AngularJS - $http-get gibt Fehler mit dem status 0?
Habe ich schon eine AngularJS-Anwendung, in der ich versuche eine XML-Daten mit $http get von einem server sagen http://example.com/a/b/c/d/getDetails?fname=abc&lname=def (diese wenn auf Sie zugegriffen wird manuell durch die Eingabe der link in einem browser zeigt eine Baumstruktur der XML-Datei).
Wenn ich die Anwendung ausführen, werden die Daten aus diesem link nicht abgeholt. Statt dessen zeigt einen Fehler mit status 0.
//url = http://example.com/a/b/c/d/getDetails?fname=abc&lname=def
$http.get(url).success(function (data){
alert("Success");
deferred.resolve(data);
}).error(function (data, status){
console.log("Error status : " + status);
});
Ich bin mir nicht sicher, warum der $http.bekommen schlägt fehl und geht um die error-Funktion zurückgeben von status 0.
Aber wenn ich übergeben Sie eine URL auf dem lokalen server, der ein JSON-Objekt, funktioniert es.
Ist das problem, weil von mir versuchen auf die XML-Datei aus einer anderen Domäne(CORS-Problem?) oder etwas anderes?
Bitte helfen Sie mir!
- Ja, Sehen Sie Ihre Konsole sollten Sie haben einen Fehler (Cross-Origin ...)
- NÖ. Ich habe nicht so etwas in meiner Konsole.
- Was, wenn ich nicht wollen, Konsole der Fehler, aber die Rückkehr an den DOM?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie HTTP access control (CORS) Probleme .
Dem server der Beantwortung der ÜBRIGEN Anfragen MUSS die Header angegeben CORS damit die Winkel zu konsumieren, richtig die Antwort. Im wesentlichen bedeutet dies, einschließlich der Access-Control-Allow-Origin-header in der Antwort, die Angabe der Server, von wo die Anfrage kommt, zulässig sind. (ref)
Es ist die Richtlinie Eckige erlaubt es, die get - /set die White-und blacklists verwendet, um sicherzustellen, dass die URLs, die verwendet werden für die Beschaffung von Winkel-Vorlagen sicher sind.
ja du hast es Recht, es ist, weil default-content-type für $http ist "application/json", wenn Sie möchten, ändern Sie die Daten des Requests oder response-Daten ändern können Sie es mit Hilfe der tranformRequest und tranformResponse. weitere Informationen finden Sie auf it - hier
außerdem finde ich einen Artikel über die Umsetzung von tranformRequest ändern post-Daten aus json-form post in angularjs