js中如何获取Cookies的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中如何获取Cookies的值相关的知识,希望对你有一定的参考价值。

在ASP中是以下代码获取Cookies的值的
A=Request.Cookies(Uservar&"HX_USER")("User_Name")
在JS中这段代码应该怎么写呢?
主要是CMS中的用户登陆要用,原本就一个用户名,现在想添个显示内容,不过用户信息是js显示的,我js又不懂,所以问下
具体的应该怎么用?原本是这样子的
function LoginBox()
var str="";
if(getCookie("HxName")==""||getCookie("HxName")==null)
str='未登录'
else
str='<li>用户名称:'+DecodeCookie(getCookie("HxName"))+'</li>';
document.getElementById("UserLogin-yes").innerhtml=str;

我现在想用户名称后面加个显示用户性别的,应该怎么加呢?
Cookies中的信息是通过下面方法赋值的
Response.Cookies(Uservar&"HX_USER")("HxName") = CodeCookie(name)
Response.Cookies(Uservar&"HX_USER")("sex")=Rs("sex")

首先JS设置cookie:

假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为:

document.cookie="name="+username;

JS读取cookie:

var username=document.cookie.split(";")[0].split("=")[1];

function setCookie(name,value)

var Days = 30;

var exp = new Date();

exp.setTime(exp.getTime() + Days*24*60*60*1000);

document.cookie = name +"="+ escape (value) +";expires=" + exp.toGMTString();

读取cookies

function getCookie(name)

var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

if(arr=document.cookie.match(reg))

return unescape(arr[2]);

else

return null;

扩展资料

服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。

另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。

参考技术A

读取属于当前文档的所有cookies

var allcookies = document.cookie;

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

function getCookie(cookie_name)

    var allcookies = document.cookie;
    var cookie_pos = allcookies.indexOf(cookie_name);   //索引的长度
 
    // 如果找到了索引,就代表cookie存在,
    // 反之,就说明不存在。
    if (cookie_pos != -1)
    
        // 把cookie_pos放在值的开始,只要给值加1即可。
        cookie_pos += cookie_name.length + 1;      //这里容易出问题,所以请大家参考的时候自己好好研究一下
        var cookie_end = allcookies.indexOf(";", cookie_pos);
 
        if (cookie_end == -1)
        
            cookie_end = allcookies.length;
        
 
        var value = unescape(allcookies.substring(cookie_pos, cookie_end));         //这里就可以得到你想要的cookie的值了。。。
    
    return value;


// 调用函数
var cookie_val = getCookie("username");


参考技术B 楼主是要玩跨站攻击啊 xss漏洞??

function getCookie(name)

var bikky = document.cookie;
name += "=";
var i = 0;
while (i < bikky.length)

var offset = i + name.length;
if (bikky.substring(i, offset) == name)

var endstr = bikky.indexOf(";", offset);
if (endstr == -1) endstr = bikky.length;
return unescape(bikky.substring(offset, endstr));

i = bikky.indexOf(" ", i) + 1;
if (i == 0) break;

return null;
本回答被提问者采纳

vb.net GET方法如何获取页面的cookies

参考技术A Cookies通过HttpResponse 传给客户端,通过HttpRequest 传回服务端,因此你可以
设置Response.Cookies集合的值修改Cookie
Response.Cookies("MyCookie")("Data") = TextBox1.Text
通过读取Request.Cookies集合的值得到Cookies的值

Label1.Text =Request.Cookies("MyCookie")("Data") & "<br>"

以上是关于js中如何获取Cookies的值的主要内容,如果未能解决你的问题,请参考以下文章

vb.net GET方法如何获取页面的cookies

C#获取cookie值

如何从request中获取指定cookies

静态页面怎么用js获取cookie

用原js写获取本地cookie的方法

Request.Cookies和Response.Cookies