//输出cookie的代码
var date = new Date();
if($("#isShowDefault").attr("checked") == true) date.setTime(date.getTime() + 180 * 24 * 3600 * 1000);
else date.setTime(date.getTime() - 180 * 24 * 3600 * 1000);
document.cookie = "isSave=true; expires=" + date.toGMTString();//读取cookie的代码
var str = document.cookie;
if(str != "" || str != null){
    str = str.split("=");
    if(str[1] == "true") window.location = "/index.aspx";
}
以上是我输出和读取cookie的js代码,我本地测试能正常输出和读取,但是发布到IIS服务器上,再测试就不行了,哪位高手帮我下,急啊。!

解决方案 »

  1.   

    你alert(document.cookie)看看有没有撒!
      

  2.   


    var str=document.cookie;
    var isSave=(str.match(/isSave=(.*?);/)||["",null])[1];
    alert(isSave);
      

  3.   

    cookie是在本地的,服务器肯定没的
      

  4.   

    汗, 我的意思是, 本地测试  能输出cookie  项目发布到服务器上, cookie输出不了,  没表述清楚  不好意思。!
      

  5.   

    不可能会存在的这样的问题应该是逻辑哪不弄对
    你cookie 的domain 是什么
    提交请求时会自动加上的
    你服务器端要用 request.getCookie()(java 里这么用的)
      

  6.   

    发布到IIS服务器上,再测试就不行了???
    你的cookie是IIS服务器上的网站写得吗?
    不是的话,那是不行的,就像百度的网站读谷歌写得cookie那是绝对不允许的,虽然它们都存储在同一台计算机的同一个地方。
      

  7.   

    都没明白我的意思, 我的程序是向客户端输出cookie, 本地测试没问题, 完全正常, 但是发不到IIS上, 输出不了老。! 我的JS代码, 是向服务器端写cookie么? 明显不是撒, 就是发布了后, 向客户端就写不了cookie了,但是发布前测试都是完全正常的。!
      

  8.   

    我也遇到这样的问题,在自己的iis下调试是可以读得到,但发布到网站上就读不到了。
    用js设置cookies可以设置,在ie缓存文件夹中也可以看到生成的cookie文件,文件中的内容也是对的,但是读取时却始终读不到。
    不知道是不是我没有设置domain还是path的缘故,但不设置,他不是会自动生成的吗?还有我的页面没有进行跳转和跨域。
    js代码如下,有谁知道原因,可以解答下,万分感谢。
    //设置cookie
    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();
    }
    //读取cookie
    function getCookie(name)
    {
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg)) return unescape(arr[2]);
    else return "";
    }