Laravel控制器无法获取Cookie

时间:2018-06-22 11:24:11

标签: php laravel cookies

我是laravel 5.6的新手,我想在控制器中使用cookie,但是我无法检索cookie。

我的目的是在cookie中保存一些数据,而不是将它们放在url上,因为我不想要这样的东西:

  

www.test.com/case/10156/folder/562/client/896 /

但更像

  

www.test.com/case/folder/client

当我点击链接时,我的功能便是这样:

$(document).on('click', '.link', function(e){
    $.cookie("affaire", $(this).data("affaire"));
    $(location).attr('href',$(this).data("href"));
}); 

效果很好,在Chrome上,我可以看到Cookie“ affaire”。 我重定向到/ lots,所以我的路线是:

    Route::get('/lots', ['as' => 'lots', 'uses' => 'Copro\LotController@index']);

还有我的LotController @ index:

    public function index()
    {
        $case_id = Cookie::get('affaire');
        dd($case_id);
    }

但是它返回“ null”(我在控制器的开头添加了“ use Cookie”),所以我不能使用该值做其他事情。

我尝试了Request:

public function index(Request $request)
{
    $copro_id = $request->cookie('affaire');
    dd($copro_id);
}

但是它也不起作用。

有人知道如何检索cookie吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

好吧,我终于找到了解决问题的方法:

https://pineco.de/accessing-front-end-cookies-laravel/

Cookie是使用laravel加密的,因此我们必须在中间件列表中输入cookie名称。