Egg 中設定與獲取Cookie

2021-10-04 08:46:28 字數 1292 閱讀 4938

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自動消...