2016-01-11 2 views
1

Все еще изучая ионные вместе с mysql и пытаясь создать форму входа с удаленной базой данных, столкнувшись с проблемой, что у меня есть ошибка "TypeError: Невозможно прочитать свойство" username "undefined "ТипError: Невозможно прочитать свойство 'username' of undefined

Ниже мой код

login.html

<ion-header-bar align-title="center" class="bar-balanced"> 
    <h1 class="title">Onseral</h1> 
</ion-header-bar> 
<ion-view> 
    <ion-content class="padding has-header"> 
    <ion-list> 
     <ion-item> 
     <input type="text" ng-model="username" placeholder="Username"> 
     </ion-item> 
     <ion-item> 
     <input type="password" ng-model="password" placeholder="Password"> 
     </ion-item> 
    </ion-list> 

    <button nav-clear class="button button-block button-balanced" ng-click="LogIn()">Login</button> 
    </ion-content> 
</ion-view> 

controller.js

angular.module('ionicApp.controllers', []) 
.controller('AppCtrl', function($scope) { 
}) 

.controller('LoginCtrl', function($scope, $state, $http, $ionicPopup) { 
    $scope.LogIn = function() { 
    var request = $http({ 
     method: "post", 
     url: "http://www.mywebsite.com/api/login.php", 
     data: { 
      username: $scope.username, 
      password: $scope.password 
     }, 
     headers: { 'Content-Type': 'application/x-www-form-urlencoded' } 
     }); 

     /*Successful HTTP post request or not */ 

     request.success(function (data){ 

     if (data == '1'){ 
      console.log('test success'); 
      } 
     else { 
     console.log('test failed'); 
     console.log($scope.username); 
     } 
    }) 
    } 
}); 

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

Это просто не могу получить имя пользователя из login.html, то, что я здесь отсутствует?

+0

Где в вашем коде это ошибка? – devqon

+0

console.log ($ scope.username); –

+0

Значит, вы имеете в виду, что '$ scope' не определен в этой строке? Это было бы действительно странно – devqon

ответ

0

Я не могу видеть ваш ng-контроллер в любом месте, написанном в коде.

Ваша ng-модель привязана к контроллеру, который вы используете, и, следовательно, в вашем представлении нет какого-либо контроллера, значение имени пользователя в вашем контроллере не определено.

+0

извините, у меня есть файл контроллера. –

+0

ok, тогда вы можете создать plunkr и поделиться ссылкой –

+0

можно ли добавить кордову в plunkr? –

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