2017-08-14 91 views
0

请注意:玩框架新手结果不包含饼干

介绍

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

起初session()从此问题开始,现在cookies正在跟随。

问题:

下面给出一个基本的例子代码,我有一个布尔值设定的结果,随后被饼干创建并添加到结果。

上。这里,所述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条目?

+0

后,我会通过看,如果客户得到的cookie或无法启动。使用Web检查器或卷曲来查看服务器发送的响应是否包含预期的Cookie,然后从那里开始。 –

+0

@FredericA。嗨,谢谢你的回应。我不确定Google Chrome的对象检查器是否符合“网络检查器”的要求,但在使用此对象检查器时,我找不到任何会话或cookie字符串,导致我认为我做错了某些事情或者使用'session()'和'饼干'不正确,以某种方式。 – KGCybeX

+0

查看播放的来源,我不确定您创建Cookie的方式是否正确,尤其是路径和域名。尝试使用'Http.Cookie.builder(“name”,“value).withXXX .... build()'不要使用空字符串调用'.withPath'或'.withDomain'来构建cookie! –

回答

0

好没有秘密的答案...

这不是在问题显示,但饼干nameid可能会包含空格。这是我的问题。在name/id删除空格(值可能有空格),

那么问题就解决了