client = IE9,server = asp.net(确切地说是一个sharepoint应用程序页面)
在页面的Page_Load
方法中,我有以下代码:
Response.Cookies["XXXXX"].Value = tabtitles.IndexOf(Request.Params["tab"]).ToString();
Response.Cookies["XXXXX"].Expires = DateTime.Now.AddDays(1);
我的Cookie逻辑行为不符合预期,因此在IE Developer Tools中使用控制台我发现document.cookie
具有以下值:
>> document.cookie
"XXXXX=3; WSS_KeepSessionAuthenticated={7da6dcd3-28b6-4c8f-b507-6fa80a16143c}; databaseBtnText=Open%20with%20Access; databaseBtnDesc=Works%20with%20items%20in%20a%20Microsoft%20Access%20database%2E; XXXXX=7"
如您所见,Cookie已附加到document.cookie
的末尾而不是替换。这是IE9中的一个错误吗?如何正确设置并获取我想要的cookie?
答案 0 :(得分:1)
问题是我之前使用jquery插件设置了一个cookie,它将当前路径设置为cookie的路径。上面的.Net代码将添加的cookie的路径设置为"/"
,因此存在两个不同的cookie,在查看document.cookies
变量时我看不到它。我的解决方案是将jquery cookie的路径设置为"/"
。