如何在Perl CGI中发送标头后保存cookie?

时间:2012-04-09 19:19:44

标签: perl cookies web cgi

我知道您通过HTTP标头将cookie发送到用户的浏览器,但是在标题发送后如何执行此操作。例如,您在要为其授予会话范围的表单中设置值。

谢谢!

2 个答案:

答案 0 :(得分:3)

你做不到。 Cookie仅在标题中设置。 HTTP无法在其他地方设置它们。

如果您想根据表单数据设置cookie,那么您可以在表单提交请求的响应中执行此操作。

如果您想使用数据生成cookie和生成表单,那么在发送标题并在两个位置使用它之前,请将数据转换为变量。

(您可以生成JavaScript以在HTML正文中设置cookie ...但这将是不必要的复杂和不可靠的)。

答案 1 :(得分:2)

如果要在已经发送响应标头后设置cookie,则必须使客户端加载可以设置cookie的其他内容。这可能是通过Ajax响应,图像链接或其他东西。您可以自动关闭它或要求用户更新某些内容。