Javascript 如何使用预定义属性设置cookie

Javascript 如何使用预定义属性设置cookie,javascript,Javascript,我是JavaScript新手,所以我有一个简单的问题,我想使用名为username、值为id、到期日为30天的JavaScript设置cookie。我试过一些例子,但当我通过浏览器检查cookie时,它会显示出来 名称:未定义 内容:未定义 过期:在会话结束时,一个示例是: function setCookie(name, value, expires, path, domain, secure) { document.cookie = name + "=" + escape(value

我是JavaScript新手,所以我有一个简单的问题,我想使用名为username、值为id、到期日为30天的JavaScript设置cookie。我试过一些例子,但当我通过浏览器检查cookie时,它会显示出来 名称:未定义 内容:未定义 过期:在会话结束时,一个示例是:

function setCookie(name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

var expires = new Date(new Date().getTime()+30*24*60*60*1000).toGMTString();
setCookie("username", "id", expires);

如果您在jquery世界中,您可能想查看-在那里您可以说:

$.cookie'the_cookie','the_value',{expires:7,path:'/'}

并相对轻松地设置参数

在使用cookie时,记住设置查询的域和路径很重要。首先,可以安全地将查询设置为路径:“/”和域:'yourdomain.com',这样它就可以在所有子域上工作。

尝试如下:

var now = new Date();
var expire = new Date(now.getTime() + (30 * 24 * 60 * 60 * 1000));
document.cookie = 'username=id' + ';expires=' + expire.toGMTString();

确保您使用的是根域,以确保跨子域(例如:domain.com而不是www.domain.com)访问cookie

您是否收到所有浏览器的相同结果,或者这只是internet explorer的问题

我经常使用这两个功能,没有问题:

function n__readCookie(n__name)
{
    var n__nameEQ = n__name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++)
    {
        var c = ca[i];

        while (c.charAt(0)==' ') 
        {  c = c.substring(1,c.length);  }

        if (c.indexOf(n__nameEQ) == 0) 
        {  return c.substring(n__nameEQ.length,c.length);  }
    }
    return false;
}

function n__createCookie(n__name, n__value, n__days, n__domain)
{
    if (n__days)
    {
        var n__date = new Date();
        n__date.setTime(n__date.getTime()+(n__days*24*60*60*1000));
        var n__expires = "; expires="+n__date.toGMTString();
    }
    else
    {
        var n__expires = "";
    }
    document.cookie = n__name+"="+n__value+n__expires+"; path=/;domain=" + n__domain;
}

然后,问题在于传递给cookie的变量,即用户名和id。