设置,获取,删除cookie
HTTP cookie,通常直接叫做 cookie ,服务器对任意HTTP请求可以发送 “Set-Cookie” 响应头,key=value 形式传送,以分号空格相隔“; ”,但key,value都必须是经过URL编码。
客户端向服务器请求,如果设置了cookie,在同源请求中会自动带上cookie有 “Cookie”请求头,key=value 形式传送,以分号空格相隔“; ”。但在跨域请求时,不会自动带 cookie,比如在 xhr 跨域,可以通过XMLHttpRequest.withCredentials为true, 后端设置Header的方式让ajax自动带上不同源的cookie。
cookie 的组成:
名称:一个唯一确定的cookie名称,cookie名称不区分大小写;
值:cookie字符串值
域:cookie对于那个域是有效的
路径:指定域中的哪个路径访问cookie,并在请求时发送cookie。例如,指定路径为 http://www.example.com/a,那么 http://www.example.com,http://www.example.com/b 等就不能访问到cookie,但 http://www.example.com/a/aa 能
失效时间:表示cookie 合适被删除的时间戳,默认会在浏览器回话结束是删除所有cookie,如果设置的时间是以前的时间,则cookie会被删除
安全标志:‘secure’,指定后,只有在使用SSL连接的时候才会发送cookie 到服务器
在Javascript 中, 使用BOM 的document.cookie 属性来处理cookie 。
当用于读取cookie时,返回当前页面可用的所有cookie字符串,以分号空格 分隔。 “name1=value1; name2=value2”
当用于设置cookie时,document.cookie 可以设置为一个新的“key=value”字符串,这样就可以新添加到现有的cookie集合中,且并不会覆盖之前的非同名的cookie,如果之前有同名的cookie,会更新值。
function setCookie(key,value,options){
if (value !== undefined ) {
if(options === undefined || options==""){
options={};
}
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setTime(+t + days * 864e+5);
}
return (document.cookie = [
encodeURIComponent(key), '=', encodeURIComponent(value),
options.expires ? '; expires=' + (options.expires).toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
}
function getCookie(key){
var result = key ? undefined : {};
var cookies = document.cookie ? document.cookie.split('; ') : [];
for (var i = 0, l = cookies.length; i < l; i++) {
var parts = cookies[i].split('=');
var name = decodeURIComponent(parts.shift());
var cookie = decodeURIComponent(parts.join('='));
if (key && key === name) {
result = cookie;
break;
}
}
return result;
}
function removeCookie(key,options){
if (getCookie(key) === undefined) {
return false;
}
options.expires=-1;
setCookie(key,getCookie(key),options);
}
setCookie("cookie1","value1",{expires:1,path:"/"});
setCookie("cookie2","value2",{expires:1,path:"/"});
removeCookie("cookie1",{path:"/"});
removeCookie("cookie2",{path:"/"});
console.log(getCookie("cookie1"));
console.log(getCookie("cookie2"));
http://www.cnblogs.com/Darren_code/archive/2011/11/24/Cookie.html
https://www.cnblogs.com/gg1234/p/5611086.html
设置,获取,删除cookie的更多相关文章
- 如何设置,获取,删除cookie?
cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来像访问者电脑上存储数据 1.不同的浏览器存放的cookie位置不一样,也是不能通用的 2.cookie的存储 ...
- jquery获取、设置、删除cookie
获取cookie: function getCookie(cname) { var name = cname + "="; var ca = document.cookie.spl ...
- js保存,获取,删除cookie的操作
[转]来自:http://blog.csdn.net/itmyhome1990/article/details/7363816 JSP表单页面 <form action="login& ...
- 五十八:Flask.Cookie之flask设置和删除cookie
1.设置cookie:在flask.Response对象上,使用set_cookie('cookie名', 'cookie值')设置cookie set_cookie源码 key:cookie名val ...
- javascript删除Cookie的正确方法(转载)
原来一直以为只要设置javascript的document.cookie对象就能简单的在浏览器端设置和删除cookie值,网上很多文章也是这么教的,但是最近发现简单的设置javascript的docu ...
- vue.js设置、获取、删除cookie
项目需要前端获取后台返回的cookie,并以此作判断.我是在main.js入口文件下使用的 具体代码: new Vue({ el: '#app', router, template: '<App ...
- jquery 设置cookie、删除cookie、获取cookie
1.引入jquery.js <script src="//cdn.bootcss.com/jquery/1.12.4/jquery.js"></script> ...
- js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...
- 设置cookie,获取cookie,删除cookie,修改cookie
怎么设置cookie,怎么设置cookie以及删除cookie和cookie详解 在操作cookie之前,先来看一下cookie长什么样. 可以看到,cookie是一个个键值对(“键=值”的形式)加上 ...
- js设置、修改、获取、删除 cookie
上面这串省略号对于各种吐槽的声音:因为在百度上看到的关于设置cookie的前几篇文章都是错误的: 里面给出的设置cookie的代码是这样的: function setCookie(name,value ...
随机推荐
- System.setOut 重定向 memcached 的输出
调用 memcached 的方法 pool = SockIOPool.getInstance(poolName); 此代码并未抛出异常, 而是在后台打印了错误信息, 估计是 使用了 System.se ...
- PHP单点登陆
本文主要介绍了利用webservice,session,cookie技术,来进行通用的单点登录系统的分析与设计.具体实现语言为PHP.单点 登录,英文名为Single Sign On,简称为 SSO, ...
- linux 开关机指令
shutdown -h now 现在关机 shutdown -h 1 1分钟后电脑关机 su 切换 用户 halt 关机 reboot 重启 sync :保存
- VC开发中一些问题的解决
(1) MFC:在视频窗口上显示一个图片: 使用button显示图片的话,鼠标点击好图片(按钮)上,窗口无法响应. 应该使用一个static静态控件来显示,这样不会妨碍视频窗口对鼠标消息的响应. (2 ...
- beego api 服务允许跨域访问,解决前端访问报Access-Control-Allow-Origin问题
背景: golang做了个简单服务,前端get请求拿数据,报错:No 'Access-Control-Allow-Origin' header is present on the requested ...
- First changce exceptoin
C++,改一点代码,F9,报一串地址错. First changce exceptoin是啥原因 退出也rad重进也不行,只能clean工程,完整编译才可以.感觉是没有把最新修改编译链接. 有 ...
- 虚拟机扩容mac
VMware虚拟机Mac增大容量: 1.设置硬盘容量大小 2.打开虚拟机的终端,找到需要扩展的硬盘.输入命令 :diskutil list 注意 :我的硬盘名字叫yz,这一行可以看见当前分配容量,最后 ...
- JS 打印图片
在使用window.print()进行打印时,打印的内容可能会包含图片内容,此时的图片内容不能设置为背景图片,否则将无法再打印页面显示. <!doctype html> <html& ...
- Linux grep命令使用方法
Linux系统中grep命令可以根据指定的字符串或者正则表达式对文件内容进行匹配查找.在Linux文件处理和SHELL编程中使用广泛. grep基本语法 用法: grep [选项] "字符串 ...
- vscode项目配置 vue-loader-webpack
使用vsCode进行项目配置 一.准备工作 1.下载Visual Studio Code 下载地址 2.打开vscode,根据自己需求下载相应插件,可以提高工作效率. 点击下角选项(我作了红框标记), ...