2017-10-10 45 views
0

ログインフォームにJSONサーバーを使用しているときに問題が発生しています。 Username and passwordのようなログイン情報があり、それを実行しようとしています。私はサーバ上でユーザが挿入したユーザ名とパスワードを指定してPOSTを使用しました。サーバーは、指定された条件の照会をで実行して、その名前とパスワードを持つ行があるかどうかを調べる必要があります。 yesの場合はtrueを返し、falseの場合はfalseを返します。クライアントはこの応答を解析する必要があります。AngularJSを使用したJSON応答時のPOSTリクエストの問題

これは私のHTMLコードです:

<form ng-submit="loginform(logcred)" name="logform"><br/><br> 
<tr ng-repeat="logcred in loginfo"></tr> 
<div> 
    <label form="emailinput"><b>Email</b></label> 
    <input type="email" class="form-control" name="uname" id="emailinput" placeholder="[email protected]" ng-model="logcred.username" > 
</div> 
<div> 
    <label form="pwdinput"><b>Password</b></label> 
    <input type="password" class="form-control" name="pwd" id="pwdinput" placeholder="*******" ng-model="logcred.password"> 
</div> 
<div> 
    <button type="cancel" class="btn" ng-click="toggle_cancel()">Cancel</button> 
    <button class="btn btn-primary" ng-click="submit()">Login</button> 
</div> 
</form> 

これはAngularJSを使用してJavascriptコードです:

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

myApp.controller('credientials', function($scope, $http) { 
$http.get('http://localhost:3000/loginfo') 
.then(
function successCallback(response){ 
$scope.loginfo == response.data; 

$scope.loginform = function(loginfo,username,password){ 
console.log(loginfo); 
$http({ 
    url :'http://localhost:3000/loginfo', 
    method : 'POST', 
    data : loginfo 
    }) 
.then(
    function successCallback(response){ 
    $scope.loginfo = response.data; 
if (username === username && password === password) { 
    console.log(response); 
} 
    else 
    { 
     console.log("Error: " + response) 
    } 
    }); 
} 
}); 

私は私のサーバーから適切な応答を取得しています。しかし、POSTリクエストを使用してデータをifの状態で照合すると、私は間違いを理解していません。

ご迷惑をおかけして申し訳ございません。

+0

'response.data'には何が入っていますか? –

+0

'get'メソッドでは、私のサーバからユーザ名とパスワードを取得しています。 'post'では、ユーザから入力されたユーザ名とパスワードを取得しています – SRK

答えて

0

あなたの問題がサーバー側であるかクライアントであるかはわかりませんでしたか?あなたが使用すること

if (username === username && password === password) { 
console.log(response); 

}

==で、あなたの問題は====

+0

そのクライアント側で – SRK

0

のあなたは自分自身とのデータを比較しているinstedです。

username === username && password === password 

username === $scope.loginfo.username && password === $scope.loginfo.password 

それでも、セキュリティ検証のいずれかの種類は、サーバー上ではなく、クライアント上で実行する必要がありますされなければなりません。

また、Angularの新機能のようです。 John Papa's Styleguideをお勧めします。

+0

です。私は新しい角度に向かっています。あなたが投稿したコードを試しましたが、私は 'loginfo'を定義していません – SRK

関連する問題