Getting Cached JSON object to appear when ionic app is offline

I have the following AngularJS controller setup to grab information from an outside API. The problem is there could be a situation where the mobile device does not have or has a terrible internet connection. I’m using cordovaNetwork to see if the device is online but it appears to not be working.

I am getting the following error in console: TypeError: Cannot read property ‘type’ of undefined

Can someone tell me what I’m missing:

   .controller('LennoxProductCtrl', function($scope, $ionicPopup, $cordovaNetwork) {

  if($cordovaNetwork.isOnline()) {

    $scope.loading = true;                
        url: "",
        dataType: 'json',
        headers: { Accept: 'application/json' },
        type: 'GET',
        success: function(data) {
            $scope.loading = false;
            $scope.$apply(function() {
                $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 {
      title: 'Error',
      content: 'Check Your Network Connection'