var _topdomain=document.domain.replace(/www./,'');function MySetCookie( sName, sValue , expDay )
{
date = new Date();
var currT = date.getTime();
var nD = new Date(currT+(expDay*86400000));
if(arguments[3]){sValue=escape(sValue);}
vcook =sName+"="+sValue+";expires="+nD.toGMTString()+";domain="+_topdomain+";path=/";
document.cookie = vcook;
}用这个得到的cookie只显示“Sname=;”为什么值为空呢。

解决方案 »

  1.   

    vcook =sName+"="+sValue+";expires="+nD.toGMTString()+";domain="+_topdomain+";path=/";  你先把vcook这个alert出来看是什么
      

  2.   


    谢谢,alert(vcook)后是有相应值的。
    但是alert(document.cookie)只有设置的cookie名称=;急死了。
      

  3.   

    vcook =sName+"=aaaaaaa"+";expires="+nD.toGMTString()+";domain="+_topdomain+";path=/";
    试一试看看有东西么?
      

  4.   

    你可以先escape,出来后再unescapevcook =sName+"="+sValue+";expires="+nD.toGMTString()+";domain="+_topdomain+";path=/";
    document.cookie = escape(vcook);
    alert(unescape(document.cookie));
      

  5.   

    因为你的"sValue"使用了escape进行编码,还需要使用unescape()(JavaScript1.0)方法进行解码.但是我很好奇,你为什么不把vcook先组合成字符串后在使用escape()方法,而单单对sValue使用?