2016-03-22 4 views
0

Ich baue eine Karte mit Hilfe von Broschüren, Mapbox und Allesfresser. Ich habe eine .kml-Datei mit einer Liste von Markierungen darauf. Die Marker laden auf dem Desktop mit ionischem Aufschlag, aber nicht wenn ich es auf einem mobilen Gerät ausführe (ich habe beide Android/iOS getestet).ionische http erhalten zu einer lokalen Datei gibt http Fehlercode 0?

Ich weiß, dass Allesfresser lädt diese Datei xhr Anfrage mit, so habe ich beschlossen, zu testen, ob mir:

test = function() { 
     $http.get('/kml/file.kml').success(function(data, status, headers, config) { 
     alert('Success!: ' + status); 
     }) 
     .error(function(data, status,headers,config) { 
      alert('FAILURE!: ' + status); 
     }); 
    } 

I 200 Erfolg auf dem Desktop zu bekommen, aber wenn ich es auf einem mobilen Gerät ausgeführt werden unter Verwendung von ionischen Ansicht oder baue es für Android Ich bekomme Fehler mit Fehlercode 0.

Ich bin mir nicht sicher, warum das auf mobilen Geräten passiert, ich habe <access origin="*"/> in meiner config.xml.

Jede Hilfe wäre willkommen, danke!

Antwort

1

Dont't wissen, welche Version von Angular Sie laufen lassen, aber $http.success und $http.error haben deprecated (seit v.1.4.4 glaube ich) und mit Erfolg und Fehler-Callback-Funktionen ersetzt worden

$http.get('/kml/file.kml').then(
    function successCallback(response) { 
    console.log(response); 
    }, function errorCallback(error) { 
    console.log(error); 
}); 

Nicht Sicher, ob das dein Problem ist, aber versuche deine eckige Version zu aktualisieren und/oder ändere deinen Code und schau, ob dies einen Unterschied macht.

+0

Danke für den Tipp, ich wusste nicht, dass Erfolg/Fehler abgeschrieben worden war. Ich habe meine Lösung oben gepostet, danke, dass Sie sich die Zeit genommen haben, meine Frage zu beantworten. –

0

Nun, ich habe die Lösung gefunden. Ich hatte einen Schrägstrich in der URL zu der Datei, die korrekt gelesen wurde, wenn Ionic Serve die Site als Server aufstellte, aber bei Verwendung auf einem mobilen Gerät startet ionic die App mit dem Protokoll file: // und dem führenden Schrägstrich verursachte Konflikte.

tldr; entfernt den führenden Schrägstrich, alles ist gut.