我有登录页面,下面是我的身份验证码。当我在浏览器中运行时,我没有注射器。
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 。请让我知道我哪里出错了。非常感谢任何帮助或建议。
答案 0 :(得分:0)
这不是一个大问题,但如果您了解injection
app.factory('factory', function(a, b){
})
在这个工厂中,app
也应该有a
和b
,例如a
是另一个factory
而b
是{ {1}}
service
缺少每个应用程序停止,您将收到提供程序错误。