| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> cookie的api和封装 -> 正文阅读 |
|
[JavaScript知识库]cookie的api和封装 |
cookie的api和封装 上一篇文章对比了下cookie,localstorage,sessionstroage三者的区别,其中讲到了cookie需要我们专门封装一下,而剩下两个有专门的get、set方法。今天主要。看看cookie在实际项目中的封装。 首先看下cookie都有哪些属性方法。 其实就两个,一个读取,一个写入。 一、读取
我们通过document.cookie就可以获取当前域名及其子域名下的所有cookie,它是以"; "(分号+空格)作为分隔符的键值对形式字符串。 比如你在mdn网站下打开控制台输入
就会出现
当然,不同电脑不一样哈。 二、写入
这里值得注意的是,newCookie也是一个字符串,它包含1+5个参数,分别是 1、由键名和键值组成的字符串,必填
值得注意的是value最后如果是分号或者空格的话,会被删除,我也是刚体验了一下才知道 2、path
path用来确定cookie随哪个请求发出去 假设你的浏览器当前已经有了两个Cookie: cookie1:name=name1; value=value1; path=/boyue/; 当访问http://localhost/boyue/*时,请求头中会包含cookie1,而不会包含cookie2。 当访问http://localhost/boyue/tongxue/*时,请求头中会包含上面两个。 即,在访问子路径时,会包含其父路径的Cookie,而在访问父路径时,不包含子路径的Cookie。仔细想想这点其实也挺符合逻辑的,要不然这个参数也就没意义了。 3、domain
设置域。可能有同学觉得,我有了path为什么还需要domain这个参数,他主要是为了不同域名下共享或区分一些参数,比如a.boyue.com和b.boyue.com是不同的域名,但是他们都可以拿到boyue.com下的cookie,却不能互相拿到。记得要带个“.”不然就是设置只有域名完全一样了才能获取到这个参数。 4、max-age
这个好理解,就是设置一个多久后失效 5、;expires=date-in-GMTString-format 设置过期时间和日期,跟上面的差不多 6、;secure 表示cookie是否只能通过https协议传输 如果是true的话,即使js获取到了对应的cookie,http请求也无法携带该参数。 三、封装 封装主要就是修改它的写入、获取方法,尤其是获取方法,毕竟我需要的一般是对应的value而不是所有的键值对。下面简单实现一下
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:57:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |