2016-07-06 36 views
0

我在我的应用程序中有此服务。在本地存储中设置和获取用户的服务。但getUser函数返回JSON.parse函数而不是我的对象。AngularJS本地存储服务错误返回

有人知道如何解决这个错误?

的代码是在这里:

.service('UserService', function() { 
    // For the purpose of this example I will store user data on ionic local storage but you should save it on a database 
    var setUser = function(user_data) { 
    window.localStorage.extract = JSON.stringify(user_data); 
    }; 

    var getUser = function(){ 
     console.log(JSON.parse(window.localStorage.user || '{}')); 
    return JSON.parse(window.localStorage.user || '{}'); 
    }; 

    var clearUser = function(){ 
     delete window.localStorage.user;  
    }; 

    return { 
    getUser: getUser, 
    setUser: setUser, 
    clearUser: clearUser 
    }; 
}) 

感谢

回答

0

我使用localStorage.get /设置项目的方法,如下面。所以你的服务看起来像

.service('UserService', function() { 

    var getUser = function(){ 
    return JSON.parse(window.localStorage.getItem('user')); 
    }; 


    var setUser = function(user){ 
    JSON.stringify(window.localStorage.setItem('user', user)); 
    }; 

    return { 
    getUser: getUser, 
    setUser: setUser 
    }; 
}) 
+0

我有同样的结果。 从getUser函数返回的对象不存在localstore项目,但是函数JSON.parse原型。 –