http://www.bootcdn.cn/jquery-cookie/可以寻找各个版本的jquery-cookie的cdn地址。
我们直接就用最新版的吧。因为前后端没分离,所以用的是模板引擎freemarker。
在需要使用cookie的页面ftl添加这行代码引入js。
看下面的这个,下下面的都不用看了
引入jquery.cookie.js
<script type="text/javascript" src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.js"></script>
存储cookie
var lngat = lat + "," + lng
alert('lngat' + lngat)
$.cookie('lngat', lngat, {
expires: 30,
path: '/',
domain: '.qkk.cn',
secure: true
})
读取cookie
if ($.cookie('lngat')) {
$.cookie('lngat')
lngat = $.cookie('lngat')
alert(lngat)
lng = lngat.split(',')[0]
lat = lngat.split(',')[1]
如果是硬盘里某个静态的html文件引入jquery——cookie其实也不能使用cookie。
必须要部署到服务器才能跑,才能设置cookie。
为了实现某些功能,把一些数据存储到用户的本地计算机。
注意事项:同源
1)必须是服务环境
2)不安全 , 因为它存在了用户的本地机器上(临时存储)
3)过期时间:
默认: session —— 会话时间(会话结束、浏览器关闭,cookie消失)
4)大小、容量 一般 4K 左右,有的浏览器还有条数的限制
—— 珍贵的资源
5)不管看到的是什么,值都是String类型
使用方法
1.新添加一个会话 cookie:
$.cookie('the_cookie', 'the_value');
当没有指明 cookie有效时间时,所创建的cookie有效期默认到用户关闭浏览器为止
2.创建一个cookie并设置有效时间为 10天:
$.cookie('the_cookie', 'the_value', { expires: 10 });
3.创建一个cookie并设置 cookie的有效路径:
$.cookie('the_cookie', 'the_value', { expires: 10, path: '/' });
在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设
置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这
个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突) 。
关于cookie的path设置需要注意,如果不设置path:'/'的话,path则会根据目录自动设置[如:http://www.xxx.com/user/,path会被设置为 '/user']
4.读取cookie:
$.cookie('the_cookie'); // cookie存在 => 'the_value'
$.cookie('not_existing'); // cookie不存在 => null
6.修改一个cookie 的值
设置方法一样:
$.cookie('name','新的value',{
path: // 如果当前程序的path和cookie的path不一致,那么这里一定要指定path参数
});
6.删除cookie,通过传递null作为cookie的值即可:
这种删除方式的话,如果到时用$.cookie('the_cookie');获取的是“null”的字符串,如果后台使用@CookieValue获取cookie,那么获取的cookie的值为“null”的字符串,这个“null”字符串后台处理要特别注意
$.cookie('the_cookie', null);
使用$.cookie("token", { expires: -1 })删除cookie,会出现这情况。
$.cookie("token", { expires: -1 })
其他说明
1.expires: 365
定义cookie的有效时间,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对
象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。
2.path: '/'
默认情况:只有设置cookie的网页才能读取该cookie。
定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为) 。
如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: '/'。如果你想删除一个定义
了有效路径的 cookie,你需要在调用函数时包含这个路径:$.cookie('the_cookie', null,
{ path: '/' });。 domain: 'example.com'
默认值:创建 cookie的网页所拥有的域名。
3.secure: true
默认值:false。如果为true,cookie的传输需要使用安全协议(HTTPS)。
4.raw: true
默认值:false。
默认情况下,读取和写入 cookie 的时候自动进行编码和解码(使用encodeURIComponent 编码,
decodeURIComponent 解码)。要关闭这个功能设置 raw: true 即可。
作者:carway
链接:https://www.jianshu.com/p/dacd42345353
来源:简书