我是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吗?
感谢您的帮助。
答案 0 :(得分:2)
好吧,我终于找到了解决问题的方法:
https://pineco.de/accessing-front-end-cookies-laravel/
Cookie是使用laravel加密的,因此我们必须在中间件列表中输入cookie名称。