关于Cookie跨域的问题,求大神解答

-Arvin 2014-03-21 03:33:15
目前两个网站都使用的hengdafilm.com的二级域名,两个网站共用一个头部,头部有操作Cookie和读取Cookie,操作Cookie使用的ajax,头部和ajax都允许跨域已测试了没问题。但是Cookie只有我这边能读写,请大神看看我代码是否写错?怎么解决。

HttpCookie cookie = new HttpCookie("MyCook");//初使化并设置Cookie的名称
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(1, 0, 0, 0, 0);//过期时间为1分钟
cookie.Expires = dt.Add(ts); //设置过期时间
cookie.Values["city"] = id; //.Add("city", id);
cookie.Values["linkId"] = _linkId; //.Add("city", id);
cookie.Values["cityName"] = HttpUtility.UrlEncode(_userCity); //.Add("cityName", _userCity);
Response.Cookies["MyCook"].Domain = "ticket.hengdafilm.com"; //设置跨域
Response.AppendCookie(cookie);
...全文
188 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyumening 2014-03-22
  • 打赏
  • 举报
回复
引用 2 楼 oArvin1234 的回复:
目前两个域都有Cookie请问怎么读取公共的那个
参考这个链接http://www.jb51.net/article/32422.htm
-Arvin 2014-03-22
  • 打赏
  • 举报
回复
目前两个域都有Cookie请问怎么读取公共的那个
-Arvin 2014-03-22
  • 打赏
  • 举报
回复
引用 5 楼 sp1234 的回复:
删除一下代码冗余吧。
谢谢前辈提醒
  • 打赏
  • 举报
回复
删除一下代码冗余吧。
-Arvin 2014-03-22
  • 打赏
  • 举报
回复
谢谢你们,问题已解决,刚刚两个域都有Cookie是因为设置跨域有误,正确设置后应该是只有一个公用的Cookie。下面是正确代码:

HttpCookie cok = Request.Cookies["MyCook"];  //获取cookie
        if (cok == null)        //如果为空
        {
            HttpCookie cookie = new HttpCookie("MyCook"); //初使化并设置Cookie的名称
            cookie.Domain = ".hengdafilm.com";      //设置跨域
            DateTime dt = DateTime.Now;
            TimeSpan ts = new TimeSpan(1, 0, 0, 0, 0); //设置过期时间为1天
            cookie.Expires = dt.Add(ts);//设置过期时间
            cookie.Values["city"] = id; //添加键值
            cookie.Values["linkId"] = _linkId;  //添加键值
            cookie.Values["cityName"] = HttpUtility.UrlEncode(_userCity); //添加键值,值为中文先转码
            Response.AppendCookie(cookie);//保存MyCook
        }
        else    //如果不为空
        {
            cok.Domain = ".hengdafilm.com";   //设置跨域
            cok.Values["city"] = id;     //修改
            cok.Values["linkId"] = _linkId;//修改
            cok.Values["cityName"] = HttpUtility.UrlEncode(_userCity);//修改
            Response.AppendCookie(cok);//保存MyCook
        }
zmm12 2014-03-21
  • 打赏
  • 举报
回复
Response.Cookies["MyCook"].Domain = "hengdafilm.com"; //设置跨域

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧