我在angularjs中有以下工厂服务:
'use strict';
angular.module('gameApp_services').factory('sessionService', ['$http', function($http) {
return {
set:function(key, value) {
return sessionStorage.setItem(key,value);
},
get:function() {
return sessionStorage.getItem(key);
},
destroy:function()
return sessionStorage.removeItem(key);
}
};
}]).factory('loginService', function($http,$location,sessionService) {
return {
login: function(data, scope) {
var $promise = $http.post("lib/action.php", data); //send data to action.php
$promise.then(function(msg) {
var uid = msg.data;
if(uid) {
//scope.msgtxt='Correct information';
sessionService.set('user', uid);
$location.path('/game');
} else {
scope.msgtxt='Incorrect information';
$location.path('/firstpage');
}
});
},
logout:function() {
sessionService.destroy('user');
$location.path('/firstpage');
}
}
});
当我运行此命令时,收到此错误消息:
SyntaxError: syntax error
return sessionStorage.removeItem(key);
语法应如何?谁可以帮助我?我不知道。
答案 0 :(得分:2)
你在破坏后错过了一个结束括号。
这应该有效。 “
angular.module('gameApp_services').factory('sessionService', ['$http', function($http) {
return {
set:function(key, value) {
return sessionStorage.setItem(key,value);
},
get:function() {
return sessionStorage.getItem(key);
},
destroy:function() {
return sessionStorage.removeItem(key);
}
};
}]).factory('loginService', function($http,$location,sessionService) {
return {
login: function(data, scope) {
var $promise = $http.post("lib/action.php", data); //send data to action.php
$promise.then(function(msg) {
var uid = msg.data;
if(uid) {
//scope.msgtxt='Correct information';
sessionService.set('user', uid);
$location.path('/game');
} else {
scope.msgtxt='Incorrect information';
$location.path('/firstpage');
}
});
},
logout:function() {
sessionService.destroy('user');
$location.path('/firstpage');
}
}
});
答案 1 :(得分:0)
我发现了问题。我忘了{在sessionStorage.removeItem。