嗨,我正在尝试注入ngtorage来在本地处理会话,我尝试了其他方法来完成此操作,但没有结果:
这是我的app.js
var myApp = angular.module('myApp', ['ngStorage']);
loginController.js在一个单独的文件中:
myApp.controller('logincontroller', ['$scope', '$http','log', function($scope, $http ,log,$sessionStorage)
{
$scope.auth = function(){
log.logIn($scope.pseudo,$scope.pwd).
then(function(data){
if (data.data.log == true){
$scope.logged = true;
$scope.success = "Hey ! t'es connect";
$sessionStorage.user = data.data.pseudo;
}else
{
$scope.erreur = "connexion echouée";
$scope.error = true;
}
});
}
}]);
和authSerivce.js我正在注入控制器的服务
angular.module('myApp').factory('log', ['$http', function($http){
return{
/*Check whether the user is logged in
* @returns boolean
*/
isLoggedIn: function isLoggedIn(){
return session.getUser() !== null;
},
/*Log in
* @param credentials
* @returns {*|Promise}
*/
logIn: function(username, pwd){
return $http
.post('/login', {'username':
username, 'pwd': pwd})
.success(function(data){
if (data.log == true){
console.log(data);
//$localstorage.user= data.pseudo;
return data;
}
}).error(function(data){
return data;
});
},
/* Log out : on peut se poser la question d'une requête HTTP ! pour faire le
ménage côté serveur ?!
* @returns {*|Promise}
*/
logOut: function(){
return $http
.get('/logout')
.then(function(response){
// Destroy session in the browser
session.destroy();
return(response.data);
});
}
}
}]);
行返回错误为
$sessionStorage.user = data.data.pseudo;
错误是无法设置未定义的属性“用户”
帮助非常感谢的人
答案 0 :(得分:0)
您按参数顺序缺少 $sessionStorage
,如下更改
myApp.controller('logincontroller', ['$scope', '$http','log','$sessionStorage',
function($scope, $http ,log,$sessionStorage)