你应该已经看过一些**,在第一次访问时,它会弹出一些提示或操作说明,类似于下图:
当我关闭此提示时,它不会再次弹出。 当我关闭浏览器并再次打开它时,它不会再次弹出。 但是,如果你看截图的右上角,你可以看到我没有登录,那么你是怎么“记住”我关闭了这个提示的呢? 这实际上是通过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 中存储一些信息来实现某些开关或记录某些信息。