2016-01-15 1 views
1

Получил то, что я не могу понять.Ионный проект, не работает на телефоне, но работает во время разработки

Я изучаю ионную структуру и создал простую страницу входа в систему, я могу обрабатывать ее через редактор (я использую редактор Atom с установленным ионным предварительным просмотром), а также через браузер, который я могу войти или зарегистрировать, и это приведет меня на следующую страницу.

Но это действительно странно, что я не могу войти или зарегистрироваться, когда я скомпилировал проект в .APK и установил на свой телефон.

Любые идеи парней?

UPDATE

Брус запустить его в эмуляторе Android, а также, но работает отлично в браузере с помощью ионной служить.

Вот некоторые из моих кодов.

login.html

<ion-header-bar align-title="center" class="bar-balanced"> 
    <h1 class="title">Login</h1> 
</ion-header-bar> 
<ion-view> 
    <ion-content class="padding has-header"> 
     <ion-list> 
     <ion-item> 
      <input type="text" ng-model="login.username" placeholder="Username"> 
     </ion-item> 
     <ion-item> 
      <input type="password" ng-model="login.password" placeholder="Password"> 
     </ion-item> 
     </ion-list> 
     <button nav-clear class="button button-block button-balanced" ng-click="LogIn()">Login</button> 
     <button class="button button-positive button-clear button-full" ui-sref="signup">Register now!</button> 
    </ion-content> 
</ion-view> 

login.php

<?php 
    require_once 'dbConfig.php'; 
    // check username or password from database 
    $postdata = file_get_contents("php://input"); 
    $request = json_decode($postdata); 
    $user = $request->username; 
    $password = $request->password; 

    $results = mysql_query("SELECT email, password FROM tbl_user WHERE email='".$user."' AND password='".$password."' LIMIT 1") or die('{"error":"Login error! Code: 003"}'); 
    $match = mysql_num_rows($results); 
    if($match > 0){ 
     echo "1"; 
    }else{ 
     echo "0"; 
    } 
?> 

controller.js

angular.module('ionicApp.controllers', []) 


.controller('AppCtrl', function($scope) { 
}) 


.controller('LoginCtrl', function($scope, $state, $http, $ionicPopup) { 
    $scope.showAlert = function(msg) { 
     $ionicPopup.alert({ 
      title: msg.title, 
      template: msg.message, 
      okText: 'Ok', 
      okType: 'button-positive' 
     }); 
    }; 


    $scope.login = {}; 
    $scope.LogIn = function() { 
    if(!$scope.login.username){ 
     $scope.showAlert({ 
     title: "Information", 
     message: "Please enter your email address" 
     }); 
    }else if(!$scope.login.password){ 
     $scope.showAlert({ 
     title: "Information", 
     message: "Please enter your password" 
     }); 
    }else{ 
     var request = $http({ 
      method: "post", 
      url: "http://www.mywebsite.com/api/login.php", 
      data: { 
      username: $scope.login.username, 
      password: $scope.login.password 
      }, 
      headers: { 'Content-Type': 'application/x-www-form-urlencoded' } 
     }); 

     /*Successful HTTP post request or not */ 

     request.success(function (data){ 
      if (data == '1'){ 
      $state.go('app.test'); 
      } 
      else { 
      var alertPopup = $ionicPopup.alert({ 
        title: 'Login failed!', 
        template: 'Please check your credentials!' 
      }); 
      } 
     }) 
    } 
    }; 
}); 

app.js

angular.module('ionicApp', ['ionic','ionicApp.controllers']) 

.config(function($stateProvider, $urlRouterProvider) { 

    $stateProvider 

    .state('app', { 
     url: "/app", 
     abstract: true, 
     templateUrl: "templates/menu.html", 
     controller: 'AppCtrl' 
    }) 


    .state('app.test', { 
     url: '/test', 
     views: { 
     'menuContent': { 
      templateUrl: 'templates/test.html' 
     } 
     } 
    }) 


    .state('login', { 
     url: "/login", 
     templateUrl: "templates/login.html", 
     controller: 'LoginCtrl' 
    }); 
    // if none of the above states are matched, use this as the fallback 
    $urlRouterProvider.otherwise('/login'); 
}); 

ответ

0

Найдено, что проблема связана с Cordova плагин.

Любой, кто сталкивается с этой проблемой, может попробовать это исправить.

только запустить плагин cordova добавить кордону-плагин-белый список в нашу папку проекта и перестроить его.

Смежные вопросы