设置,获取,删除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 ...
随机推荐
- mac python3安装virtualenv出现的问题
pip3 install virtualenv pip3 install virtualenvwrapper 安装成功后可能 找不到该命令, 解决办法 1.在 vim ~/.bashrc export ...
- centos离线安装docker及其它软件包
桌面版本安装 docker可以通过网络安装,但在内网环境,需要进行离线安装. 执行 uname -r 获取操作系统版本号 根据版本号,到docker.com下载docker的离线安装包: Linux版 ...
- 笔记:Sublime Text 3
http://www.sublimetext.com/3 Sublime Text官网 http://www.sublimetextcn.com/3/ Sublime Text中文官网 http:// ...
- 21纯 CSS 创作文本滑动特效的 UI 界面
原文地址:https://segmentfault.com/a/1190000014842868 简化版地址:https://scrimba.com/c/cgaZLh6 感想:笨蛋,想不出自己的东西. ...
- Address already in use: JVM_Bind 端口被占用的几个解决办法
运行Tomcat时若出现Address already in use: JVM_Bind 端口被占用,一般使用下面几个办法可以解决: 假设端口为1099 1.启动cmd, 执行命令netstat -a ...
- linux驱动开发( 五) 字符设备驱动框架的填充file_operations结构体中的操作函数(read write llseek unlocked_ioctl)
例子就直接使用宋宝华的书上例子. /* * a simple char device driver: globalmem without mutex * * Copyright (C) 2014 Ba ...
- IO 和 NIO 的区别
IO:阻塞IO,面向流:当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入,该线程在此期间不能再干任何事情了:可以有少量的连接使用非常高的带宽,一次发 ...
- 机器学习进阶-图像基本处理-视频的读取与处理 1.cv2.VideoCapture(视频的载入) 2.vc.isOpened(载入的视频是否可以打开) 3.vc.read(视频中一张图片的读取) 4.cv2.cvtColor(将图片转换为灰度图)
1.vc = cv2.VideoCapture('test.mp4') #进行视频的载入 2.vc.isOpened() # 判断载入的视频是否可以打开 3.ret, frame = vc.read( ...
- as3调用外部应用程序 as调用外部exe文件as3调用bat文件 未测试
private function callTest(event: Event): void{callExe("d:/a.exe");callBat("d:/a.bat&q ...
- vue.js 中双向绑定的实现---初级
1. 1 我们看到的变量,其实都不是独立的,它们都是windows对象上的属性 <!DOCTYPE html> <html lang="en"> <h ...