首页 新闻 会员 周边

asp.net Cookies 为什么有时候用js无法获取。

0
[待解决问题]

刚刚尝试使用js 去获取 cs文件添加的cookies   如果直接用下面写法 也就是.net 最基本的的写法。

HttpCookie OnlineCookie = new HttpCookie("OnlineCookie", "1");
OnlineCookie.Expires
= DateTime.Now.AddMinutes(3);
Response.Cookies.Add(OnlineCookie);

这样写法就没问题。。可以获取到。

如果封装了一个方法 方法如下。

/// <summary>
/// 添加Cookie
/// </summary>
/// <param name="cookie"></param>
public static void AddCookie(HttpCookie cookie)
{
HttpResponse response
= HttpContext.Current.Response;
if (response != null)
{
//指定客户端脚本是否可以访问[默认为false]
cookie.HttpOnly = true;
//指定统一的Path,比便能通存通取
cookie.Path = "/";
//设置跨域,这样在其它二级域名下就都可以访问到了
//cookie.Domain = "chinesecoo.com";
response.AppendCookie(cookie);
}
}

然后 在通过下面的方法去添加cookies  js 就无法获取到。

HttpCookie OnlineCookie = new HttpCookie("OnlineCookie", "1");
OnlineCookie.Expires
= DateTime.Now.AddMinutes(3);
CookieHelper.AddCookie(OnlineCookie);

最上面不封装的时候 js 就可以获取到。下面的方法就无法获取到。

yzy的主页 yzy | 菜鸟二级 | 园豆:317
提问于:2011-07-07 18:07
< >
分享
所有回答(1)
0

//指定客户端脚本是否可以访问[默认为false]
cookie.HttpOnly = true;
这行去掉看看?

I,Robot | 园豆:9783 (大侠五级) | 2011-07-09 19:28
默认都为false,如果去掉不就更不行了
支持(0) 反对(0) 咆哮的野猪 | 园豆:60 (初学一级) | 2011-07-29 11:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册