0

所以我有一个在队列中发送cookie的PHP控制器,下次刷新页面时我需要获取这个cookie(并调用这个控制器)。

当控制器被调用时,它会检查 cookie 是否存在于请求中,如果不存在,它会将其设置在队列中,过期时间为 15 分钟。

但是当再次调用此控制器时,请求中没有任何内容。我查看了 dev-tools->Network->Cookies,但在请求和响应部分都没有找到这个 cookie。同时,getQueuedQookies() 表明这个cookie 已经被添加到队列中。代码如下所示:

$cookie = $this->request->cookie('id');
if($cookie=='id') {
    die('ID detected.');
} else {
    $this->cookieJar->queue('id', 'id', 15);
}

然后采取其他动作,控制器最后返回一些字符串。

我做错了什么,我的问题如何解决?非常感谢任何可能的帮助!

4

1 回答 1

0

更新

将 test 更改为您的函数名称,CookieJar 将被自动注入。

public function test(CookieJar $cookieJar, Request $request){
    $cookie= $request->cookie('id');
    if($cookie=='id') {
        print('ID detected.');
    } else {
        $cookieJar->queue(cookie('id', 'id', 15));
    }
}
于 2016-07-19T14:01:19.053 回答