前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript学习笔记030-前端缓存cookie0初识后端缓存session

JavaScript学习笔记030-前端缓存cookie0初识后端缓存session

作者头像
Mr. 柳上原
发布2018-12-12 13:32:36
3690
发布2018-12-12 13:32:36
举报
文章被收录于专栏:菜鸟前端工程师

Author:Mr.柳上原

  • 付出不亚于任何的努力
  • 愿我们所有的努力,都不会被生活辜负
  • 不忘初心,方得始终

这篇笔记要不要上传

我纠结了一下

基本上

现在

在企业开发中

几乎很少使用到cookie了

现在基本上都是H5本地缓存

token之类的做用户登录验证

node或许会用到一点点

想想还是发上来吧

没准哪天就有用了

代码语言:javascript
复制
<!DOCTYPE html> <!-- 文档类型:标准html文档 -->

<html lang='en'> <!-- html根标签 翻译文字:英文 -->

<head> <!-- 网页头部 -->

<meat charset='UTF-8'/> <!-- 网页字符编码 -->

<meat name='Keywords' content='关键词1,关键词2'/>

<meat name='Description' content='网站说明'/>

<meat name='Author' content='作者'/>

<title>前端59期学员作业</title> <!-- 网页标题 -->

<link rel='stylesheet' type='text/css' href='css/css1.css'/> <!-- 外链样式表 -->

<style type='text/css'> /*内部样式表*/

</style>

</head>

<body> <!-- 网页主干:可视化区域 -->

<script>
/*
cookie:
数据缓存,保存用户的操作状态
http无状态,不会保留用户状态
cookie必须在服务器环境下使用
cookie的默认有效期是即时的,浏览器关闭后就消失了

Request Headers 请求头
cookie
当前域的cookie会被主动发到服务器
后台接受到cookie,发送用户当前对应状态的页面
*/
// 获取当前页面的cookie数据
console.log(document.cookie);

// 设置当前页面的cookie数据
document.cookie = "username=fengyu";
document.cookie = "password=123456";
// 注意:=不是赋值,而是设置一条新的cookie值,与上一条同时存在,但是当右边字符串内的值左边值名相同时,会覆盖上一条

// 设置当前页面的cookie有效期
document.cookie = "username=fengyu; expires=" + new Date(Date.now() + 60 * 1000).toUTCString(); // 设置一分钟后过期
// 注意:设置当前时间的时间戳

// 获取cookie的值
const getCookie = attr => {
const arr = document.cookie.match(new RegExp("\\b" + attr + "=([^;]+)(;|$)"));
return arr ? arr[1] : "";
}
getCookie("username");
console.log(getCookie("username"));

// 设置cookie的值
const setCookie = (obj1, time = 0) => {
const timer = new Date(Date.now() + time * 1000*60*60*24).toUTCString();
for(var key in obj1){
document.cookie = `${key}=${obj1[key]}; expires=${timer}`;
}
}
setCookie({
username: "fengyu",
password: 123456
}, 2)

// 删除cookie的值
const delCookie = arrt => {
let obj2 = {};
obj2[arrt] = "";
setCookie(obj2, -1)
}

// cookie实例:用户登录,保存cookie
// 上次访问时间
const lastTime = getCookie("lastTime");
if (lastTime){
// 为true表示用户不是第一次登录
last.innerHTML = "您上次访问时间是:" + lastTime;
} else {
// 为false表示用户第一次登录
last.innerHTML = "欢迎大爷第一次来玩耍"
}
const time = new Date().toLocaleString();
now.innerHTML = "本次登录时间:" + time;
setCookie({
lastTime: time
}, 365)

/*
session:
后端用来存储缓存信息的方法
前端cookie值发送给后端
后端用session接收,并返回对应数据
*/

</script>

</body>

</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.11.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档