2017-03-22 150 views
1

目前我正在試圖創建了用戶信息存儲在一個JSON文件中的用戶登錄頁面。我已經爲該文件創建了我的GET方法,但在用戶成功登錄後似乎無法重定向。你能幫我嗎?AngularJS用戶登錄到JSON文件

I know that user login and validation done on the client side is A BAD IDEA but that is how I want to do it, without using a database.

這裏是我的HTML代碼:

<body ng-controller="myCtrl"> 
    <form id="login-form"> 
      <h3>User Login</h3> 
        <div class="form-group"> 
        <label for="email">Email address:</label> 
        <input type="email" class="form-control" id="email"> 
        </div> 

        <div class="form-group"> 
        <label for="pwd">Password:</label> 
        <input type="password" class="form-control" id="pwd"> 
        </div> 
        <button type="submit" class="btn btn-default" id="login-button" ng-click="LogOn()">Login</button> 
     </form> 
</body> 

我的JavaScript代碼:

var app = angular.module('myApp', [ ]); 
       app.controller("myCtrl",['$scope', '$http', function($scope, $http){ 
       $scope.LogOn = function(){ 
        $http.get('data.json').then(function(data){ 
        $scope.users = data; 
        }); 
    if (data.email == email) && (data.password = password{ 
      window.location.href = 'www.google.com'; 
      }    
        }; 
       }]); 

我的JSON文件:

[ 
    { 
     "email":"[email protected]", 
     "Password":"password" 
    }, 
    { 
     "email":"[email protected]", 
     "password":"test999" 
    }, 
    { 
     "email":"[email protected]", 
     "password":"xxx" 
    } 
] 
+0

你可能要考慮ngRoute或ui.router。 – skubski

回答

0

顯然if波紋管具有在裏面.then(回調

if (data.email == email && data.password == password) { 
    window.location.href = 'www.google.com'; 
} 
+0

未捕獲的ReferenceError:在分配無效的左邊 - '如果(data.email ==電子郵件)&&(data.password =密碼)' – ZombieChowder

+0

這是從你的代碼複製以上 – kidwon

+0

是的,但是檢查的代碼,如果它在運行第一個地方是給出實際工作答案的重要部分。感謝您的努力' – ZombieChowder

0

認沽重定向內部代碼,然後

$http.get('data.json').then(function(data){ 
      $scope.users = data; 
      if (data.email == email && data.password == password) { 
      window.location.href = 'www.google.com'; 
      } 
}); 
+0

您正在比較兩個字符串的數據數組。如果你想能夠進入你的棧,你需要循環用戶並匹配每個用戶和密碼。 – skubski