2016-10-01 6 views
0

jsonファイルに保存されているデータから認証情報を認証してログインフォームを実装しようとしていました。しかし、私は最初のケースのようなエラーがコンセプトを習得しようとしているだけのデモアプリケーションですworking.Itで取得しています: を、これは私のコントローラです:angular.jsのログインフォーム

var app = angular.module('myApp', []); 

app.controller("myCtrl",function($scope, $http) 
{ 
     $scope.check = function(){ 
      var sample; 
        $http.get('roles.json').then(function(res) 
        { 
         sample = res.data; 

        console.log(sample); 

        angular.forEach(sample, function(val) 
        { 
         if($scope.uName===val.userName) 
         { 
          if($scope.password===val.password) 
          { 
           alert("sucess"); 
          } 
          else 
          { 
           alert("failure"); 
          } 
         } 
         else 
         { 
          alert("failure"); 
         } 

        }); 
       }); // end of http 
     };// end of function 
}); 

データが正常にロードするが、ロジックでは、いくつかの問題のように思われます。 JSONで データ:

[ 
    {"userName":"stud101","password":"stud1","role":"student"}, 
    {"userName":"stud102","password":"stud2","role":"student"}, 
    {"userName":"superlib","password":"lib1","role":"Librarian"} 
    ] 

は私が残り、他の例の故障で、最初のケースで成功を取得しています。

+0

あなたのHTMLはどのように見えますか?正確なエラーメッセージは何ですか? – nikjohn

+0

パスワードとユーザー名をブラウザに送信する場合は、ログインする必要はありません。誰でもそれらを見ることができます。それが言われて...データがどのように見えるかを私たちに見せてください。仕事をしていることを助けることができます – charlietfl

+0

あなたの状態はuNameとパスワードの両方がvalと等しいかどうかをチェックしています。 –

答えて

0
angular.forEach($scope.messagepool, function(value, key) { 
    if(value.userName==$scope.uName && value.password==$scope.password){ 
    alert('success'); 
    }else{ 
    alert('faluire'); 
    } 
}); 

foreachの代わりにこれを使用してください。これが役に立ちますようお願いいたします(y)

1
$http.get('roles.json').then(function(res){ 
    sample = res.data; 

    console.log(sample); 
    var isMatched = false; 
    angular.forEach(sample, function(val) 
    { 
    if($scope.uName==val.userName && $scope.password==val.password) 
    { 
     isMatched = true; 
     return false; // To stop the foreach loop if username and password both are matched. 
    } 


    }); 
    if(isMatched) 
    { 
    alert("success"); 
    } 
else 
{ 
    alert("failure"); 
} 
}); 
関連する問題