Ich habe das folgende AngularJS-Controller-Setup, um Informationen von einer externen API abzurufen. Das Problem ist, dass es eine Situation geben kann, in der das Mobilgerät keine schreckliche Internetverbindung hat oder hat. Ich verwende cordovaNetwork, um zu sehen, ob das Gerät online ist, aber es scheint nicht zu funktionieren.Abrufen des im Cache gespeicherten JSON-Objekts, wenn die ionische App offline ist
Ich erhalte die folgende Fehlermeldung in der Konsole: Typeerror: kann Eigenschaft ‚Typ‘ undefinierter
lesenKann mir jemand sagen, was mir fehlt:
.controller('LennoxProductCtrl', function($scope, $ionicPopup, $cordovaNetwork) {
if($cordovaNetwork.isOnline()) {
$scope.loading = true;
$.ajax({
url: "https://api.lennox.com/v1/hSPgMEU/categories",
dataType: 'json',
headers: { Accept: 'application/json' },
type: 'GET',
success: function(data) {
$scope.loading = false;
$scope.$apply(function() {
console.log(data.Category);
$scope.categories = data.Category;
});
localStorage.setItem("lennoxProducts", JSON.stringify(data.Category));
},
error: function (data) {
if(localStorage.getItem("lennoxProducts") !== undefined) {
$scope.categories = JSON.parse(localStorage.getItem("lennoxProducts"));
}
$scope.loading = false;
}
});
} else {
$ionicPopup.alert({
title: 'Error',
content: 'Check Your Network Connection'
});
}
})
Nicht nur $ cordovaNetwork, sondern fast alle Cordova Plugins. Übrigens sollten Sie ionic.native im Geschmack von ng-Cordova verwenden –