Angular2 cookie而不是localstorage

Mil*_*vic 20 javascript cookies html5 angular

我设法使所有工作JWT认证,没有问题,但它只支持现代浏览器,我需要Auth工作从IE9及以上开始.

我找不到任何关于如何在Angular2中使用cookie的信息或示例.有一个使用localStorage来保存令牌的简单示例,我需要相同的功能,但使用cookie.

任何帮助都会很棒,因为网上没有任何内容.

this.http.post("http://localhost:3001/sessions/create", creds, { headers: header })
    .map(res => res.json())
    .subscribe(
      data => localStorage.setItem('id_token',data.id_token),
      err => this.logError(err),
      () => console.log("Auth is completed!")
    );
Run Code Online (Sandbox Code Playgroud)

Exd*_*rca 31

解决这个问题的一个简单方法就是使用这个lib:

https://www.npmjs.com/package/ng2-cookies

要安装此库,请运行:

$ npm install ng2-cookies
Run Code Online (Sandbox Code Playgroud)

用法:

import { Cookie } from 'ng2-cookies/ng2-cookies';

Cookie.set('cookieName', 'cookieValue');
Cookie.set('cookieName', 'cookieValue', 10 /*days from now*/);
Cookie.set('cookieName', 'cookieValue', 10, '/myapp/', 'mydomain.com');

let myCookie = Cookie.get('cookieName');

/*
* List of cookies as Object, like: { cookieName: "cookieValue", cookieName2: "cookieValue2" ... etc }
*/
let cookielist = Cookie.getAll();

Cookie.delete('cookieName');
Cookie.deleteAll();
Run Code Online (Sandbox Code Playgroud)

  • 虽然这在理论上可以回答这个问题,[最好](// meta.stackoverflow.com/q/8259)在这里包含答案的基本部分,并提供参考链接. (2认同)