JS、JQ,从cookie中取出保存到cookie的数组

JS、JQ,从cookie中取出保存到cookie的数组,第1张

cookie在jquery中有指定的cookie *** 作类,下面我先来介绍我们在使用cookie *** 作类时的一些问题,然后介绍正确的使用方法。

使用JQuery *** 作cookie时 发生取的值不正确的问题:

结果发现cookie有四个不同的属性:

名称,内容,域,路径。

正常情况下,浏览器禁止跨域获取cookie

一般通过sso服务可以实现取得跨域cookie,思路如下:

域A页面访问位于域A的服务器,对权限进行验证

域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器)

域A服务器返回302跳转,跳转到域B下,并将加密串作为url的一部分

页面由域A跳转到域B,域B服务器通过加密串获取到事先从域A服务器上得到的cookie信息,并在响应头中添加set-cookie字段设置cookie

如何使用js来获取cookie的值,读取属于当前文档的所有cookies,参考如下:

var allcookies = documentcookie;

定义一个函数,用来读取特定的cookie值。

function getCookie(cookie_name)

{

var allcookies = documentcookie;

var cookie_pos = allcookiesindexOf(cookie_name); //索引的长度

// 如果找到了索引,就代表cookie存在,

// 反之,就说明不存在。

if (cookie_pos != -1)

{

// 把cookie_pos放在值的开始,只要给值加1即可。

cookie_pos += cookie_namelength + 1;

var cookie_end = allcookiesindexOf(";", cookie_pos);

if (cookie_end == -1)

{

cookie_end = allcookieslength;

}

var value = unescape(allcookiessubstring(cookie_pos, cookie_end)); //这里就可以得到想要的cookie的值了。

}

return value;

}

// 调用函数

var cookie_val = getCookie("username");

<script type="javascript/text">

$(documetn)(function(){

if($cookie("span"))

{

var $index=$cookie("span");<!--从cookie里取最后单击的span-->

$("span")removeClass("on")eq($index)addClass("on");

}

$("span")click(function(){

var $index=$(this)index();

$cookie("span",$index);

$(this)addClass("on")siblings("span")removeClass("on");

});

});

</script>

以上就是关于JS、JQ,从cookie中取出保存到cookie的数组全部的内容,包括:JS、JQ,从cookie中取出保存到cookie的数组、如何用js实现跨域获取cookie、静态页面怎么用js获取cookie等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9768353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存