javascript - AngularJS 工厂服务中的语法错误

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

语法应该是什么样的?谁能帮助我?我不知道。

最佳答案

销毁后缺少右括号。

这应该有效。 '

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/

相关文章:

javascript - AngularJS:ng-click 在 ui-grid cellTemplate 中不起作用

javascript - 一旦 .js 文件转换为 UTF8,HTML5/JS 应用程序不会调用 index.html 中列出的 .js 文件之一

javascript - 在 JavaScript console.log 中

angularjs - 使用 orderBy Angular 后获取排序数组

javascript - 在 JS 中获取元元素属性值的最佳方法是什么?

angularjs - Angular 2 GET withCredentials(接受来自服务器的cookie)

javascript - 了解 AngularFire 扩展 FirebaseArray 示例?

javascript - 错误 [$注入(inject)器 :unpr] when injecting sanitize dependency

javascript - Angular2 是否提供在注入(inject)器中注册的项目的命名空间?

javascript - 如何修复 Revolution-slider 中卡住的 javascript 计数器