【问题标题】:Safari does not completely save the cookieSafari 没有完全保存 cookie
【发布时间】:2013-04-23 19:04:42
【问题描述】:

我有一个程序在页面上的 cookie 中写入重定向,

SetCookie(key,value);
Response.Redirect("SecondPage.aspx");

并尝试读取第二页上的 cookie。

var value = GetCookie(key);

就这么简单!它在 IE/FF/Chrome 上运行良好,但在 Apple 的 Safari 上不行!

这是 cookie 值在 IE/FF/Chrome 中的外观:

flyerName=1111+test+road%2c+LS%2c+MO&flyerPersonId=1241BST34&flyerTemplate=Vertical.pdf&flyerListing=6666&flyerOrg=TESTORG

在 Safari 中:

flyerName=1111+test+road

显然 Safari 已经截断了 %2C 之后的字符串,即 ascii 表中的逗号(,)!

附:我见过this post,但对我没有帮助。

【问题讨论】:

    标签: asp.net .net cookies safari


    【解决方案1】:

    问题解决了!在保存 cookie 之前,执行 Server.UrlEncode(strValue) 并在检索时使用 Server.UrlDecode(c.Values.Item(strKey))

    显然 Safari 无法正确处理 cookie 值中的 ","";"

    【讨论】:

      【解决方案2】:

      试试这个

      Responce.cookie["PageUrl"].value=your value;
      Responce.cookie["PageUrl"].Path="/";
      

      现在您可以在整个应用程序中访问此 cookie;

      【讨论】:

      • 谢谢,它没有用,问题不在于存储 cookie 数据的位置,而是存储 "," 而不会截断 cookie 的其余部分。
      猜你喜欢
      • 2013-02-23
      • 2022-11-02
      • 2014-11-07
      • 1970-01-01
      • 2022-11-06
      • 1970-01-01
      • 2012-06-11
      • 2017-11-03
      • 2017-08-29
      相关资源
      最近更新 更多