你應該已經看過一些**,在第一次訪問時,它會彈出一些提示或操作說明,類似於下圖:
當我關閉此提示時,它不會再次彈出。 當我關閉瀏覽器並再次開啟它時,它不會再次彈出。 但是,如果你看截圖的右上角,你可以看到我沒有登入,那麼你是怎麼“記住”我關閉了這個提示的呢? 這實際上是通過cookie記錄的。 當我單擊 x 關閉提示時,j**ascript 將向 cookie 寫入乙個標誌。 每次我們開啟這個新頁面時,它都會確定cookie中是否有這個標記。 如果沒有這樣的標記,將彈出乙個提示。 如果有這樣的標記,它不會彈出。
Cookie 本質上是一長串由分號分隔的字元,每個字元由乙個鍵和乙個值組成,稱為 cookie。
當我們想向 cookie 新增 cookie 時,有兩種常見的方法可以新增 cookie:使用 j**ascript 或通過後端設定。
要讀取所有當前 Cookie,您可以使用 **:
document.cookie
執行效果如下圖所示:
請注意,如果要確定鍵值是否在 cookie 中,則需要執行字串匹配。 物件並非如此,它無法直接根據鍵查詢值或確定鍵是否在其中。
要編寫 cookie,我們可以使用 **:
document.cookie = 'key=value'
例如:
這裡我們使用document.cookie = 新值
,它可能看起來像覆蓋了整個 cookie,但事實並非如此。 如果您新增與現有金鑰相同的金鑰,它將覆蓋原始 cookie 的值,並且不會影響其他 cookie。 如果您的新金鑰不在原始 cookie 中,它將被新增到末尾。
在後端設定 cookie 的另一種方法是以 FastAPI 為例
第一種是將 cookie 寫入瀏覽器,使用以下 **:
from fastapi import fastapi, responseapp = fastapi()
app.get('/')
def index(response: response, name: str = ''):
if not name:
name = 'kingname'
response.set_cookie('name', name)
return Hello, the value of the value of the message field in your cookies:'
return Hello, the value of the value of the message field in your cookies is are: , is a new user:'
return {'success': true, 'msg': msg
執行效果如下圖所示:
無論您使用前端還是後端方法,您都可以在 cookie 中儲存一些資訊來實現某些開關或記錄某些資訊。