angularjs中的身份验证问题

时间:2018-02-15 08:16:02

标签: angularjs

我有登录页面,下面是我的身份验证码。当我在浏览器中运行时,我没有注射器。

HTML:

<div class="col-md-12 bgcolor" ng-controller="log"> 
 <div class="txtbox col-md-12">     
   <input type="text" placeholder="User ID" class="txtchar">
 </div>
 <div class="txtbox col-md-12">
   <input type="password" placeholder="Password" class="txtchar">
  </div>
  <div class="fgpwd col-md-12">
    <label>Forget Password</label>
    <span><button class="logbtn" ng-click="logclick(userCred)">Login</button></span>        
  </div>
</div>  

AngularJs:`

app.factory('auth',['$http','session',function($http,session) {
var authService = {};

authService.login = function(userCred) {
$http.post('//localhost:5000/login',userCred)
.then(
  function successCallback(response){
    console.log(response);
  session.create(response.data.id);
  var user = response.data;
 if (user [user.username && user.password]) {
 var userCred = user[user.username && user.password];
 if (userCred.username == user.username && userCred.password == user.password) {
    $scope.csp_user = response.data;
} else {
    console.log('Error');
  }
 }
});
};

authService.isAuthenticated = function() {
 return {
 isAuthenticated : false,
 user : null
 }
};

return authService;
}]);         

app.controller('log', function($scope, $http,auth) {
$scope.logForm = {};

$scope.userCred = {
    username : '',
    password : ''
};

    /*-----Form Submition-----*/

$scope.logclick = function(){
    auth.isAuthenticated = true;
    if (isAuthenticated = true) {
        $scope.go('/main.html');
    } else {
        console.log('error');
        return;
    }
};

    /*-----Calling Factory Function-----*/

$scope.login = function(userCred) {
    auth.isAuthenticated = true;
    auth.login(function(user) {
        console.log('success');
    },function(error) {
        console.log("error");
    });
}   
});

当我运行上面的代码时,我得到未知提供者:sessionProvider&lt; - session&lt; - auth 。请让我知道我哪里出错了。非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

这不是一个大问题,但如果您了解injection

,那就太好了
app.factory('factory', function(a, b){

})

在这个工厂中,app也应该有ab,例如a是另一个factoryb是{ {1}}

service

缺少每个应用程序停止,您将收到提供程序错误。