2017-03-29 56 views
0

我正在尝试在输入字段中输入用户名和密码,并将它们发送到API URL以验证用户并返回数据。我可以提供硬编码的凭据到URL并成功登录。但我需要的是能够动态地在Web界面中输入值并执行登录。如何在angular js中实现登录:绑定和输入值到REST API URL?

我不知道如何将输入值绑定到URL以及应如何写入格式。请帮助。

我的控制器,具有硬编码的用户名和密码:

var login = angular.module('login', []); 
    login.controller('loginController',  ['$scope','$http','$location',function($scope, $http) { 
    $scope.loginauth = function(username,password) 
    { 
      $http({ 
      method : 'POST', 
      url  : 'http://televisionarybackendservices.azurewebsites.net/auth/login?username=Evangeli&password=1234', 
      headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
      }) 
      .success(function(data) { 
       console.log(data) 
       $scope.userData = data; 

     }); 
    }; 

enter code here}]);

我的html模式登录;

<div id="loginModal" class="modal fade" role="dialog" ng-controller="loginController"> 
    <div class="modal-dialog"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal">&times;</button> 
        <h4 class="modal-title">Login</h4> 
       </div> 
       <div class="modal-body"> 
        <form class="form" action="" method="POST" enctype="multipart/form-data" role="form"> 
        <div class="form-group"> 
        <label for="ue">Username</label> 
        <input type="text" class="form-control" id="ue" placeholder="" ng-model="username"> 
        </div> 
        <div class="form-group"> 
        <label for="pwd">Password</label> 
        <input type="password" class="form-control" id="pwd" placeholder="" ng-model="password"> 
        </div> 
        </form> 
       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-success" ng-click="loginauth(username,password)">Login</button> 
        <button type="button" class="btn btn-success" data-dismiss="modal">Close</button> 
        <div ng-repeat="data in userData"> 
         {{data.username}}<br /> 
         {{data.created_at}} 
        </div> 

       </div> 
      </div> 
    </div> 

我需要动态输入用户名和密码,而不是提供硬编码值。提前致谢。

+0

编辑语法和结构使其更清晰。 –

回答

0

那么我得到了答案。这是给需要帮助的人。

var login = angular.module('login', []); 
    login.controller('loginController', ['$scope','$http','$location',function($scope, $http) { 
    $scope.loginauth = function(username,password) 
    { 
      $http({ 
      method : 'POST', 
      url  : 'http://televisionarybackendservices.azurewebsites.net/auth/login', 
      data: jQuery.param({ 
     username: $scope.username, 
     password: $scope.password 
       }), 
      headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
      }) 
      .success(function(data) { 
       console.log(data) 
       $scope.userData = data; 

     }); 
    }; 

}]);