angular.js - angularjs中该如何设置一段cookie今天24点之后过期?
phpcn_u1582
phpcn_u1582 2017-05-15 16:55:13
0
2
768

cookie中保存一段用户参与的信息,这个信息希望今天之内有效,24点之后过期,该如何设置?

phpcn_u1582
phpcn_u1582

membalas semua(2)
巴扎黑

Apa yang saya katakan di bawah semuanya dikendalikan dalam versi Angular 1.4.x.

1. Mula-mula anda perlu memuatkan modul ngCookies, dan kemudian tambahkan kebergantungan ini di tempat yang anda perlukan.
2. Kemudian anda boleh merujuk $cookies di sini untuk kaedah tertentu.
3. Kaedah umum adalah seperti berikut:

    $cookies.put(key, value, [options]); // 存储一个字符串
    $cookies.putObject(key, value, [options]); // 存储一个对象
    
    $cookies.get(key); // 获取一个cookie字符串
    $cookies.getObject(key); // 获取一个cookies对象

4. Masa kuki boleh ditetapkan sendiri. $cookiesProvider 5. Saya ada contoh kecil di sini yang boleh anda lihat, demo
6. Kod khusus adalah seperti berikut:

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');
}

})();
phpcn_u1582

Masa kuki ditetapkan pada bahagian pelayan, bukan pada halaman web Bahagian pelayan adalah mudah. ​​Jika ia adalah Java, adalah disyorkan untuk menggunakan masa joda menggunakan masa joda untuk menetapkan tamat tempoh 24 mata:

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);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan