cookie中保存一段用戶參與的信息,這個信息希望今天之內有效,24點之後過期,該如何設置?
我以下說的都是在Angular 1.4.x 版本中操作的。
1.首先你要載入ngCookies模組,然後在你需要的地方加在這個依賴。 2.然後具體的方法你可以參考這裡$cookies。 3.一般的方法如下:
ngCookies
$cookies.put(key, value, [options]); // 存储一个字符串 $cookies.putObject(key, value, [options]); // 存储一个对象 $cookies.get(key); // 获取一个cookie字符串 $cookies.getObject(key); // 获取一个cookies对象
4.cookie的時間是可以自己設定的,透過$cookiesProvider設定一些選項,具體可以看這裡$cookiesProvider。 5.我這裡有一個小例子你可以看一下,demo 6.具體的程式碼如下:
$cookiesProvider
index.html
<body ng-app="MyApp"> <h1>Angular $cookies</h1> <h2>打开控制台,看看Cookies</h2> <p ng-controller="MyController as vm"> {{vm.data}} </p> </body>
app.js
(function(){ angular.module('MyApp', ['ngCookies']) .config(cookiesConfig) .controller('MyController', MyController); cookiesConfig.$inject = ['$cookiesProvider'] MyController.$inject = ['$cookies']; function cookiesConfig($cookiesProvider){ var date = new Date(); date.setDate(date.getDate() + 1); var expires = date; console.log(expires); $cookiesProvider.expires = expires; } function MyController($cookies){ var vm = this; vm.person = { name: 'dreamapple', age: 22, address: 'China' }; $cookies.putObject('person', vm.person); vm.data = $cookies.getObject('person'); } })();
cookie時間是伺服器端設定的,不是網頁端的事情,伺服器端就簡單啦,算出過期時間就好,如果是Java的話建議使用joda time,以下是使用joda time設定24點過期的例子:
DateTime now = DateTime.now(); DateTime endOfToday = now.withTimeAtStartOfDay().plusDays(1); Cookie cookie = new Cookie(key, value); cookie.setMaxAge(Seconds.secondsBetween(now, endOfToday).getSeconds()); cookie.setDomain(domain); cookie.setPath("/"); response.addCookie(cookie);
1.首先你要載入
ngCookies
模組,然後在你需要的地方加在這個依賴。2.然後具體的方法你可以參考這裡$cookies。
3.一般的方法如下:
4.cookie的時間是可以自己設定的,透過
$cookiesProvider
設定一些選項,具體可以看這裡$cookiesProvider。5.我這裡有一個小例子你可以看一下,demo
6.具體的程式碼如下:
cookie時間是伺服器端設定的,不是網頁端的事情,伺服器端就簡單啦,算出過期時間就好,如果是Java的話建議使用joda time,以下是使用joda time設定24點過期的例子: