【问题标题】:get cookie after set cookie设置 cookie 后获取 cookie
【发布时间】:2012-12-02 10:54:38
【问题描述】:

我在服务器的 cgi 脚本中使用 set-cookie 设置了我的 cookie,如下所示

print "Content-type: text/html\n";
sys.stdout.write(cookie.output())
print "\n\n";

但是当我重新加载页面时,我无法获取 cookie,因为它没有出现 上

document.cookie

如何获取 cookie?并且是 Set-cookie : name=value 刷新页面后应该出现在 document.cookie 上吗?

总的来说,我希望客户端能够识别 cookie(如果存在)并采取相应措施

谢谢

【问题讨论】:

  • 你是怎么设置cookie的,把你的相关代码贴在这里

标签: javascript cookies web


【解决方案1】:

W3Schools 解释得很漂亮。你可以看看网站提供的getCookie和setCookie函数。您可以将其用作基础。它的纯javascript

【讨论】:

  • 他们在那里使用 document.cookie 作为 cookie 字符串..我没有我的 cookie...
  • 会不会是我的 set-Cookie 标头错误? (你可以看到它)..我检查了其他页面上的document.cookie,其他页面确实有更多的cookie
【解决方案2】:

Cookie 由服务器设置。客户端(浏览器)只是将它们发回。您不能使用 Javascript 来设置 cookie。

编辑

您需要更少的引号,并且不需要\r。可能需要; 而不是,。即

print "Content-type: text/html\n";
print "Set-Cookie: name=value\n\n";

还可以使用 Firefox 的 HTTP 实时标头插件来检查 HTTP 通信。

【讨论】:

  • 顺便说一下我的cookie如下:name=12345; expires=周日,2012 年 12 月 2 日 14:26:00 PST
  • @Ed 注意到我现在在 python 中使用 cookie 类,但是现在它将 cookie 打印为正文而不是标题:-(
  • @user1432779 - 你可以只拥有 name=value - 请参阅 RFC2109 - w3.org/Protocols/rfc2109/rfc2109
猜你喜欢
  • 2022-01-20
  • 1970-01-01
  • 2020-11-16
  • 2017-04-15
  • 1970-01-01
  • 1970-01-01
  • 2017-09-05
相关资源
最近更新 更多