我想用angularjs和ionic登录。但是当我运行该程序时,该程序是错误的。错误是:


  TypeError:无法读取未定义的属性“用户名”


有人帮我吗?

形式:

 <body ng-app="apps" ng-controller="PostController as postCtrl">
   <ion-view view-title="Please Sign in">
  <ion-content class="padding">
    <div class="list">
      <label class="item item-input">
        <input type="text" placeholder="Name" ng-model="postCtrl.inputData.username">
      </label>
      <label class="item item-input">
        <input type="password" placeholder="Password" ng-model="postCtrl.inputData.password">
      </label>
    </div>
    <div class="alert alert-danger" role="alert" ng-show="errorMsg">{{errorMsg}}</div>
    <button class="button button-full button-balanced" ng-click="postForm()">Sign In</button>
  </ion-content>
</ion-view>
<script src="controller.js"></script>
  </body>


控制器:

angular.module('apps', ['ionic'])
    .controller('PostController', ['$scope', '$http', function($scope, $http) {

        $scope.postForm = function() {

            var encodedString = 'username=' +
                encodeURIComponent(this.inputData.username) +
                '&password=' +
                encodeURIComponent(this.inputData.password);

            $http({
                method: 'POST',
                url: 'check-login.php',
                data: encodedString,
                headers: {'Content-Type': 'application/x-www-form-urlencoded'}
            })
            .success(function(data, status, headers, config) {
                console.log(data);
                if ( data.trim() === 'correct') {
                    window.location.href = 'home.html';
                } else {
                    $scope.errorMsg = "Login not correct";
                }
            })
            .error(function(data, status, headers, config) {
                $scope.errorMsg = 'Unable to submit form';
            })
        }

    }]);

最佳答案

在您的控制器中

var self = this;
self.inputData = {};


并更换
this.inputData.usernameself.inputData.username
 this.inputData.passwordself.inputData.password

关于javascript - 无法读取angularjs中未定义的属性“用户名”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40281754/

10-10 16:30