A-A+

Js无法读取cookie问题解决办法

2016年01月07日 web前端设计 暂无评论 阅读 5 views 次

在工作中需要一个跨域操作cookie了,但使用常用js是无法实现了,后来发现一个jquery.cookie插件就可以实现了,具体方法如下。
问题描述:

需要使用一个跨域的cookie,发现无法设置和读取cookie

cookie使用的是jquery cookie.下载地址:http://plugins.jquery.com/cookie/。

说实话,官方的使用方法实在没看懂,好在网友给力。

简单的说下使用方法:

写cookie:

$.cookie('php', 'phpdo');

读取cookie:

$.cookie('php'); // cookie存在 => 'phpdo'

删除cookie:

通过传递null作为cookie的值即可

$.cookie('php', null);

我的cookie:$.cookie(“name”,name, {path:’/’, domain:’uelife.cn’, secure: true});

查找了半天,就是没有发现问题所在。正纠结的时候不小心又看到了一下参数。敞亮了。

secure: true:如果为true,cookie的传输需要使用安全协议(HTTPS)。

我这的web都是http了,当然打不开了。

好吧。今天还是发生了一个手欠的错误。

各个参数说明:
1).expires: 365

定义cookie的有效时间,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。

2).path: ‘/’

默认情况:只有设置cookie的网页才能读取该cookie。

定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为) 。

如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: ‘/’。

如果你想删除一个定义了有效路径的 cookie,你需要在调用函数时包含这个路径:$.cookie(‘php’, phpdo, { path: ‘/’ });。

domain: ‘phpdo.net’

默认值:创建 cookie的网页所拥有的域名。

3).secure: true

默认值:false。如果为true,cookie的传输需要使用安全协议(HTTPS)。

4).raw: true

默认值:false。

默认情况下,读取和写入 cookie 的时候自动进行编码和解码(使用encodeURIComponent 编码, decodeURIComponent 解码)。要关闭这个功能设置 raw: true 即可。

标签:

给我留言