http 是無狀態協議,簡單地說,當你瀏覽了乙個頁面,然後轉到同乙個**的另乙個頁面,伺服器無法認識到這是同乙個瀏覽器在訪問同乙個**,每一次的訪問,都是沒有任何關係的。
cookie 是儲存於訪問者的計算機中的變數,可以讓同乙個瀏覽器訪問同乙個網域名稱的時候共享資料 ,在egg中設定與獲取cookie比較方便。
最簡單的設定:
this.ctx.cookies.set('username','lucy');
以上設定由於沒有加任何的配置選項,當瀏器關閉以後cookie就銷毀了,另外這種最簡單的設定也沒法將cookie設定成中文。
this.ctx.cookies.set('username','露西');
cookie設定成中文時,在瀏覽器中訪問時會報錯: argument value is invalid (code: err_assertion)
cookie的設定選項有很多,官網均有介紹,常見的設定如下:
'use strict';
const controller = require('egg').controller;
class homecontroller extends controller )
await this.ctx.render('home');
}}module.exports = homecontroller;
cookie 獲取的**如下:
'use strict';
const controller = require('egg').controller;
class newscontroller extends controller
var username = this.ctx.cookies.get('username', );
await this.ctx.render('news', );
}}module.exports = newscontroller;
cookie清除的**如下:
'use strict';
const controller = require('egg').controller;
class homecontroller extends controller
}module.exports = homecontroller;
當設定的cookie為乙個物件時,要將該物件進行json.stringify(),獲取的時候再用json.parse()進行解析。 Egg 設定與獲取Session
session是另一種記錄客戶狀態的機制,不同的是 c ookie 儲存在客戶端瀏覽器中,而session 儲存在伺服器上。當瀏覽器訪問伺服器並傳送第一次請求時,伺服器端會建立乙個 session 物件,生成乙個類似於 key,value 的鍵值對,然後將 key cookie 返回到瀏覽器 客戶 ...
cookie的獲取 設定與刪除
設定cookie c name 傳入的鍵 str value 傳入的值 str expiredays 有效期 天為單位 number escape 和unescape 是一對編碼解碼函式,一般用於url中非ascii字元的編碼和解碼!如 escape 返回 26,unescape 26 返回 都用十...
vue中設定 獲取 刪除cookie
1 在src目錄下的access下新建乙個cookie.js,2 在main.js中引入並且將cookie設定成vue的全域性變數 3 這樣,在登入或退出等頁面上就可以呼叫 cookiestore這個全域性變數來使用 將使用者名稱存進cookie,第三個引數60為秒,意味著一分鐘後cookie自動消...