我在 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);
语法应该是什么样的?谁能帮助我?我不知道。
最佳答案
销毁后缺少右括号。
这应该有效。 '
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');
}
}
});
关于javascript - AngularJS 工厂服务中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25664725/