语法错误的AngularJS工厂服务
问题描述:
,我有以下工厂服务angularjs:语法错误的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);
应该如何语法是什么样子?任何人都可以帮助我?我没有我的想法。
答
我发现了这个问题。我在sessionStorage.removeItem中忘了{。
答
您在销毁后错过了右括号。
这应该工作。 '
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');
}
}
});
你错过了函数的开头'{'。 – 2014-09-04 11:51:31