AngularJS工厂服务中的语法错误

时间:2014-09-04 11:49:22

标签: javascript 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);

语法应如何?谁可以帮助我?我不知道。

2 个答案:

答案 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。