Ich versuche, ein JSON-Objekt zu verwenden, das in einer Datei data.json
lebt, um das Dataset für einen schnellen Prototyp zu sein, an dem ich arbeite. Dies lebt in einem Verzeichnis my_project/www/data/
. Ich habe einen Angular-Dienst, der die Daten in dieser Datei unter Verwendung von $http
erfasst, einige Dinge daran tut und dann in meiner gesamten App verwendet wird.Verwenden Sie lokale JSON-Datei mit Cordova/ionic/Angular. Funktioniert im Browser, aber nicht auf dem Gerät?
Ich verwende Cordova und Ionic. Bei Verwendung von ionic serve
auf meinem Computer sieht alles im Browser perfekt aus. Wenn jedoch ionic view
(http://view.ionic.io/) und Öffnen der App auf meinem iPad verwenden, sehe ich ein:
{"data":null,"status":0,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"url":"../data/items.json","headers":{"Accept":"application/json,test/plain,*/*}},"statusText":""}
auf eine Antwort. Ich würde denken, dass wenn es ein relatives URL-Problem wäre, es auch nicht im Browser funktionieren würde, aber das ist nicht der Fall.
Hier ist, was ich tue:
config.xml hat diese Zeile:
<access origin="*" subdomains="true"/>
Mein Dienst, der die einfache Anfrage Preforms tut:
return $http.get("../data/data.json").then(function (response) {
return response.data;
});
Und schließlich in mein Controller, bitte ich um den Service, die Anfrage vorzufüllen:
myService.goGetData().then(onComplete, onError);
In meinem Browser wird onComplete() aufgerufen und auf dem iPad wird onError() aufgerufen. Irgendwelche Anleitung?
Hey Amy - was ist der Fehler an onError übergeben? – rhodesjason
Hallo Jason! Es ist nur das Antwortobjekt von $ http.get - das oben aufgelistete Objekt ist was onError bekommt. – amlyhamm