2017-02-14 1 views
0

Я установил плагин сетевой информации cordova и имею следующий код, который проверяет пользователя при входе в систему. однако я хочу проверить подключение к Интернету, прежде чем он проверяет учетные данные пользователя. как это сделать в ионной?Как проверить подключение к Интернету при нажатии кнопки?

$scope.enterLogin = function(usern,pass) 
{ 

    userFactory.getUser(usern).then(function(response) 
    { 
    if(JSON.stringify(response.data) === "null") 
    { 
     alert('Please sign-up for an account.'); 
    } 
    else 
    { 
     if(pass === response.data.Password) 
     { 

      var myPopup = $ionicPopup.show({ 
      template: '<input type="password" ng-model="userdata.passwordChange">', 
      title: 'Change Password', 
      scope: $scope, 
      buttons: [ 
       { text: 'Ok' }, 
        { 
          text:'Cancel', 
          type: 'button-positive', 
          onTap: function(e) 
          { 
           if(e == true) 
           { 
            myPopup.close(); 
           } 
           else 
           { 

            $location.path('/page17'); 
            console.log($location.path()); 
            myPopup.close(); 
           } 

          } 
        } 
        ] 
     }); 
     } 
     else 
     { 
      if(pass == $scope.userdata.passwordChange) 
      { 
       $location.path('/page9'); 
      } 
      else if(pass == "omar_1992!") 
      { 
       $location.path('/page9'); 
      } 
      else 
      { 
       alert('Login failed. Please check your credentials.'); 
      } 

     } 
    } 

     }); 
} 
+0

вы можете использовать 'navigator.connection.type' для получения сети или' navigator.online' –

ответ

0

Вы можете использовать navigator для этого,

Попробуйте

$scope.enterLogin = function(usern,pass) 
{ 
    if (navigator.onLine) { 
     userFactory.getUser(usern).then(function(response) 
     { 
      if(JSON.stringify(response.data) === "null") 
      { 
       alert('Please sign-up for an account.'); 
      } 
      else 
      { 
       if(pass === response.data.Password) 
       { 

        var myPopup = $ionicPopup.show({ 
         template: '<input type="password" ng-model="userdata.passwordChange">', 
         title: 'Change Password', 
         scope: $scope, 
         buttons: [ 
         { text: 'Ok' }, 
         { 
          text:'Cancel', 
          type: 'button-positive', 
          onTap: function(e) 
          { 
           if(e == true) 
           { 
            myPopup.close(); 
           } 
           else 
           { 

            $location.path('/page17'); 
            console.log($location.path()); 
            myPopup.close(); 
           } 

          } 
         } 
         ] 
        }); 
       } 
       else 
       { 
        if(pass == $scope.userdata.passwordChange) 
        { 
         $location.path('/page9'); 
        } 
        else if(pass == "omar_1992!") 
        { 
         $location.path('/page9'); 
        } 
        else 
        { 
         alert('Login failed. Please check your credentials.'); 
        } 

       } 
      } 

     }); 
    }else{ 
     alert('no internet connection') 
    } 
} 
+0

спасибо. но в браузере он отлично работает, в устройстве приложение не переходит на следующую страницу, но не отображает вид предупреждения ... –

0

Использование Network Information plugin. Это будет хорошо работать в устройстве, а также может быть доступно для получения дополнительной информации о сети.

Например.

$cordovaNetwork.isOnline();