结果在使用result.withCookies时不包含cookie

时间:2017-08-14 23:24:12

标签: session cookies playframework playframework-2.0

请注意:Play Framework新手

简介

我需要使用session()和/或response().cookies来传递数据/商店数据。

首先session()开始讨论此问题,现在cookies正在跟进。

问题:

给出下面的基本示例代码,我有一个设置结果的布尔值,然后创建cookie并将其添加到结果中。

在此处,呈现myPage,其中包含对同一控制器中的操作的POST操作,UserController

在这种新方法中,没有cookies

确认了这一点
Collection<Http.Cookie> cookies = response().cookies();

,尺寸为0

UserController中

//...
Result result;
if(b)
    result = ok(myPage.render());
else
    result = new MyController().index();
result = result.withCookies(
        new Http.Cookie("id", "value", 86400, "", "", true, false, Http.Cookie.SameSite.LAX),
        new Http.Cookie("id_2", "value_2", 3600, "", "", true, false, Http.Cookie.SameSite.LAX)
    );

return result;
//...

问题:

documentation表示session()在浏览器窗口打开时持续整个持续时间。

Cookie存储在客户端并在网页加载时加载,会话被视为一堆cookie。

为什么要清除设置session()条目或添加cookies(),如上所示,即response()中没有Cookie?

我可以查找什么,删除session()cookie条目的内容是什么?

1 个答案:

答案 0 :(得分:0)

嗯,没有秘密答案......

问题中未显示,但Cookie nameid可能不包含空格。这导致了我的问题。删除name / id中的空格后(值可能包含空格),

然后问题得到解决