2017-10-12 13 views
1

Ich bin neu mit Angularjs und ich habe ein Problem beim Parsen einer JSON-Antwort. Ich mache Client-Authentifizierung für die Login-Seite und ich habe get Anfrage verwendet, um Daten von Servern Seite und post Anfrage für Client-Seite zu holen. HTML-Code:Wie GET-Antwortdaten an POST-Anforderung übergeben werden

<form ng-submit="loginform(logcred)" class="ng-scope ng-pristine ng-valid center" name="logform"><br/><br> 
<tr ng-repeat="logcred in serverinfo"></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> 
<br/> 
</form> 

AngularJS Code:

var myApp = angular.module('myApp', []); 
    myApp.controller('credientials', function($scope, $http) { 
      /* server side response*/ 
    $http.get('http://localhost:3000/loginfo 
    .then(
    function successCallback(response){ 
    $scope.serverinfo = response.data; 
    });  

/* client-side response*/ 

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

Problem, was ich bin vor ist, ich brauche die GET Antwortdaten in POST Anfrage zu senden und dort ich die Bedingungsprüfung tue, wenn die Benutzername und Passwort stimmen überein, es sollte Erfolgsmassage geben. Aber ich bin mir nicht sicher, ob mein Denken richtig ist oder nicht.

Was mache ich falsch?

Jede Hilfe/Beratung würde sehr geschätzt werden.

+2

in Server-Seite Sie überprüfen, Benutzernamen und Passwort, wenn Match Erfolgsmeldung senden, Sie brauchen nicht get Anfrage senden es – Akashii

+0

@ ThanhTùng zu tun. Ich habe Plocker erstellt: https://plnrkr.co/edit/G1ld4uMcJ1nWCYNZquuM?p=info – SRK

+0

Ich bekomme nicht, wie man die Server-Seite zu überprüfen, können Sie meinen Plocker ändern oder sonst, wenn Sie ein funktionierendes Beispiel haben, lassen Sie mich @ ThanhTùng – SRK

Antwort

0

Sie können unter dem folgenden Code versuchen.

$scope.loginform = function(serverinfo,username,password){ 
    $http({ 
     url: 'http://localhost:3000/loginfo', 
     method: 'POST', 
     data: { 
      "username" :username, 
      "password" :password, 
      } 
     }) 
     .then(
     function successCallback(response){ 
     console.log(response); 
     if (response) { // Response will be either true or false. For this yu need to change the API response. 
      //Logged in successfully 
     }else{ 
      //Something went wrong 
     } 
    }); 
} 
+0

ja. Ich werde es versuchen @rakesh – SRK

+0

Antwort immer wahr in Ihrem Code – Akashii

Verwandte Themen