js中cookie可以跨域取值吗

js中cookie可以跨域取值吗,第1张

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

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

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

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

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

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

1 最近得到一个新需求,需要在后台管理页面加上用户权限控制,通过后台放在cookie里面的token进行判断;

2 获取cookie里面的token:

    21 我们在用vuejs里面的indexhtml写一个全局的函数:

           

 3 这样我们通过传入cookie的key名就可以获取到后面的token了,如:

Cookie *** 作是我们在Web开发中经常会用到的功能,以往我们一般是通过javascript实现的。下面这款jquery插件是专门用来进行cookie *** 作 的,包括cookie的添加、清除、读取…… 你可以在这款插件的主页下载到它:>

<SCRIPT language="JavaScript">

<!--

//首先获取name就是标记

function getcookie(Name) {

var search = Name + "="

var returnvalue = "";

if (documentcookielength > 0) {

offset = documentcookieindexOf(search)

if (offset != -1) {

offset += searchlength

end = documentcookieindexOf(";", offset);

if (end == -1)

end = documentcookielength;

returnvalue=unescape(documentcookiesubstring(offset, end))

}

}

return returnvalue;

}

function okla(){

if (getcookie('biaoji')==''){

documentwrite("呵呵1");

documentcookie="biaoji=1"

}else if (getcookie('biaoji')=='1'){

documentwrite("呵呵2");

documentcookie="biaoji=2"

} else if (getcookie('biaoji')=='2'){

documentwrite("呵呵3")

}

}

okla()

//-->

</SCRIPT>

直接粘贴到html里运行,显示呵呵1,再刷新显示呵呵2再刷新显示呵呵3,不知道是不是你想要的这个效果。

使用js检测Cookie的话,可以让js执行定时任务,定期检测,我给你写段代码

方法一://使用jquery的cookie方法,之前必须引入jquerycookiejs文件,在网上可以下载到

//每隔1秒,执行cookie检测函数

setTimeout("checkCookie()",1000);

//检测cookie函数,如果cookie为空则跳转到登陆页

function checkCookie() {

   if($cookie("qqlogin") == "" || $cookie("qqlogin") == null) {

        windowlocationhref = "loginhtml";

   }

}

方法二:使用js获取cookie

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

function getCookie(cookie_name) {

    var allcookies = documentcookie;

    var cookie_pos = allcookiesindexOf(cookie_name);   //要获取COOKIE的索引长度  

    

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

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

    if (cookie_pos == '') {

       windowlocationhref = "loginhtml";

    }

}  

// 调用函数

//每隔1秒,执行cookie检测函数

setTimeout("getCookie('getCookie')",1000);

注:方法二未经测试。

以上就是关于js中cookie可以跨域取值吗全部的内容,包括:js中cookie可以跨域取值吗、js获取cookie里面的token、js或者jQuery如何获取cookie的有效时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存