使用 result.withCookies 时结果不包含 cookie
result contains no cookies when using result.withCookies
请注意:Play Framework新手
简介
我需要使用session()
and/orresponse().cookies
来传递data/store数据。
起初 session()
开始处理这个问题,现在 cookies
正在跟进。
问题:
给出下面的基本示例代码,我有一个布尔值设置结果,然后创建 cookie 并将其添加到结果中。
在这里,呈现 myPage,其中包含一个 POST 动作到同一控制器中的一个动作,UserController
在这个新方法中,没有cookies
。
证实了这一点
Collection<Http.Cookie> cookies = response().cookies();
大小为 0
用户控制器
//...
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()
在浏览器 window 打开时持续整个持续时间。
Cookies存储在客户端,网页加载时加载,session被认为是一堆cookies。
为什么设置 session()
条目或添加 cookies()
如上所示,会被清除,即 response()
中没有可用的 cookie?
我可以寻找什么,什么会删除 session()
或 cookie
个条目?
好吧,没有秘密答案...
问题中没有显示,但 cookie name
或 id
可能不包含空格。这引起了我的问题。删除 name
/id
中的空格后(值可以有空格),
然后问题就解决了
请注意:Play Framework新手
简介
我需要使用session()
and/orresponse().cookies
来传递data/store数据。
起初 session()
开始处理这个问题,现在 cookies
正在跟进。
问题:
给出下面的基本示例代码,我有一个布尔值设置结果,然后创建 cookie 并将其添加到结果中。
在这里,呈现 myPage,其中包含一个 POST 动作到同一控制器中的一个动作,UserController
在这个新方法中,没有cookies
。
Collection<Http.Cookie> cookies = response().cookies();
大小为 0
用户控制器
//...
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()
在浏览器 window 打开时持续整个持续时间。
Cookies存储在客户端,网页加载时加载,session被认为是一堆cookies。
为什么设置 session()
条目或添加 cookies()
如上所示,会被清除,即 response()
中没有可用的 cookie?
我可以寻找什么,什么会删除 session()
或 cookie
个条目?
好吧,没有秘密答案...
问题中没有显示,但 cookie name
或 id
可能不包含空格。这引起了我的问题。删除 name
/id
中的空格后(值可以有空格),
然后问题就解决了