When you develop a web application, sometimes you need store data in client-side. In this case, you can use cookies or local storage. Some browsers do not support local storage (eg. IE 7,8), you should use cookies, but if you are building a phonegap application, local storage is unique choice.
The below code is coffee scripts, this is an anglarjs service that you can use to get, set or remove data from/to local storage.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
app.factory 'utils', [ ()-> factory = getItem: (item)-> data = window.localStorage.getItem("app_local_data") if (!data) data = {} return "" else data = JSON.parse(data) return data[item] setItem: (key, value)-> data = window.localStorage.getItem("app_local_data") if (!data) data = {} data[key] = value else data = JSON.parse(data) data[key] = value window.localStorage.setItem("app_local_data", JSON.stringify(data)) return true removeItem: (key)-> data = window.localStorage.getItem("app_local_data") if (!data) data = {} else data = JSON.parse(data) delete data[key] window.localStorage.setItem("app_local_data", JSON.stringify(data)) return true logout: -> window.localStorage.removeItem("app_local_data") |
And the below is an AngularJS service that will write data to cookies for the case the browser does not support local storage.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
.factory('Utils', ['$q', '$http', '$cookieStore', function($q, $http, $cookieStore) { return { getItem: function(item){ var data = $cookieStore.get(item); if (!data){ data = {}; return ""; }else{ return data; } }, setItem: function(key, value){ $cookieStore.put(key, value); return true; }, removeItem: function(key){ $cookieStore.remove(key); return true; }, logout: function() { $cookieStore.remove('app_user'); } }; }]) |