ASP.NET 写 Cookie 与 JavaScript 写 Cookie 之间的关系

作者:vkvi 来源:ITPOW(原创) 日期:2018-4-20

假如我们的网页位于目录下,地址是:http://127.0.0.1/cftea/cookie.aspx

第一步、cookie.aspx 中用 ASP.NET 写 Cookie

代码 Response.Cookies.Add(new HttpCookie("cookieName", "1"));

我们通过 Chrome 调试,发现它写的 Cookie 的 Path 并不是当前目录,而是根目录。Path 为:/

第二步、cookie.aspx 中用 JavaScript 写 Cookie

代码:document.cookie = "cookieName=2";

我们通过 Chrome 调试,发现现在有两个 Cookie 了,一个就是第一步写入的,第二个就是我们刚刚用 JavaScript 写入的,Path 为:/cftea

第三步、去掉 JavaScript,然后修改 ASP.NET 输出的 Cookie 值,然后刷新页面

可以发现 Path 为 / 的 Cookie 值变了,但是 Path 为 /cftea 的 Cookie 并没有变。

所以,总结,在没有指定 Path 的情况下:

  • ASP.NET 是输出到根目录
  • JavaScript 是输出到当前目录
  • 要让 ASP.NET 输出到当前目录,可指定 Path,Path = "."
相关文章