- Koa.js 教程
- Koa.js - 首頁
- Koa.js - 概述
- Koa.js - 環境
- Koa.js - Hello World
- Koa.js - 生成器
- Koa.js - 路由
- Koa.js - URL 構建
- Koa.js - HTTP 方法
- Koa.js - 請求物件
- Koa.js - 響應物件
- Koa.js - 重定向
- Koa.js - 錯誤處理
- Koa.js - 級聯
- Koa.js - 模板引擎
- Koa.js - 表單資料
- Koa.js - 檔案上傳
- Koa.js - 靜態檔案
- Koa.js - Cookie
- Koa.js - 會話
- Koa.js - 身份驗證
- Koa.js - 壓縮
- Koa.js - 快取
- Koa.js - 資料庫
- Koa.js - RESTful API
- Koa.js - 日誌記錄
- Koa.js - 腳手架
- Koa.js - 資源
- Koa.js 有用資源
- Koa.js - 快速指南
- Koa.js - 有用資源
- Koa.js - 討論
Koa.js - Cookie
Cookie 是簡單的小檔案/資料,隨伺服器請求傳送到客戶端並在客戶端儲存。每次使用者重新載入網站時,此 Cookie 都會隨請求一起傳送。這有助於跟蹤使用者的操作。HTTP Cookie 有多種用途。
- 會話管理
- 個性化(推薦系統)
- 使用者跟蹤
要將 Cookie 與 Koa 一起使用,我們有以下函式:ctx.cookies.set() 和 ctx.cookies.get()。要設定新的 Cookie,讓我們在 Koa 應用中定義一個新的路由。
var koa = require('koa');
var router = require('koa-router');
var app = koa();
_.get('/', setACookie);
function *setACookie() {
this.cookies.set('foo', 'bar', {httpOnly: false});
}
var _ = router();
app.use(_.routes());
app.listen(3000);
要檢查 Cookie 是否已設定,只需轉到您的瀏覽器,啟動控制檯並輸入 -
console.log(document.cookie);
這將產生以下輸出(您可能設定了更多 Cookie,可能是由於瀏覽器中的擴充套件程式)。
"foo = bar"
以下是一個上述示例。
瀏覽器在每次查詢伺服器時也會發送回 Cookie。要在伺服器上的伺服器控制檯中檢視 Cookie,請在路由中新增以下程式碼。
console.log('Cookies: foo = ', this.cookies.get('foo'));
下次您向此路由傳送請求時,您將獲得以下輸出。
Cookies: foo = bar
新增具有過期時間的 Cookie
您可以新增過期的 Cookie。要新增過期的 Cookie,只需傳遞一個物件,並將“expires”屬性設定為您希望它過期的日期和時間。例如,
var koa = require('koa');
var router = require('koa-router');
var app = koa();
_.get('/', setACookie);
function *setACookie(){
//Expires after 360000 ms from the time it is set.
this.cookies.set('name', 'value', {
httpOnly: false, expires: 360000 + Date.now() });
}
var _ = router();
app.use(_.routes());
app.listen(3000);
刪除現有 Cookie
要取消設定 Cookie,只需將 Cookie 設定為空字串。例如,如果您需要清除名為foo的 Cookie,請使用以下程式碼。
var koa = require('koa');
var router = require('koa-router');
var app = koa();
_.get('/', setACookie);
function *setACookie(){
//Expires after 360000 ms from the time it is set.
this.cookies.set('name', '');
}
var _ = router();
app.use(_.routes());
app.listen(3000);
這將取消設定所述 Cookie。請注意,當不在客戶端程式碼中使用 Cookie 時,應保留HttpOnly選項為真。
廣告