2017-08-19 4 views
0

次のAngularJSコントローラをセットアップして、外部APIから情報を取得します。問題は、モバイルデバイスがないか、ひどいインターネット接続がある状況が存在する可能性があることです。私はcordovaNetworkを使ってデバイスがオンラインかどうかを確認していますが、動作していないようです。ionicアプリケーションがオフラインのときにキャッシュされたJSONオブジェクトを取得する

私は、コンソールで次のエラーを取得しています:TypeError例外:未定義

のプロパティ「タイプ」を読み込めません

誰かが私には欠けているものを私に伝えることができます:

.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' 
    }); 
    } 

}) 

答えて

0

cordovaNetworkは明らかに常にエラーときがスローされますウェブデベロッパーツールを使用して表示されますが、アプリが作成されて端末で実行されたときに動作しているようです。

+0

$ cordovaネットワークだけでなく、ほぼすべてのコードワインのプラグインです。ところで、あなたはng-cordovaの風味にionic.nativeを使うべきです –

関連する問題